Skip to content

thinca: don't rely on custom compare operations

Kipp Cannon requested to merge (removed):thinca_performance into master

Description

This modifies the inspiral coincidence code so that it no longer requires SnglInspiral row objects to provide rich compare operators allowing them to be compared directly to GPS times. The time comparisons are implemented by the C coincidence code itself. This allows a variety of code elsewhere to be simplified, and provides a small performance improvement. Some other performance oriented changes are included.

API Changes and Justification

Backwards Compatible Changes

  • This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions
  • This change adds new classes/functions/structs/types to a public C header file or Python module

Backwards Incompatible Changes

  • This change modifies an existing class/function/struct/type definition in a public C header file or Python module
  • This change removes an existing class/function/struct/type from a public C header file or Python module

For the purposes of the code in question (the coincidence engine for the gstlal based inspiral search), these changes are backwards compatible. If some hypothetical code other than the core gstlal inspiral pipeline has been using this code and relying on the requirement that it provide the trigger<-->GPS time comparison functions itself to hack this code into implementing some other kind of weird coincidence test, that code will no longer work as the ability to do that has been taken away. I know of no such code, and there is documentation elsewhere that I think is clear that the rich compare operators that this removes the need for were there to provide a trigger<-->GPS time comparison operation, only, not any other kind of operation.

Review Status

Reproduces existing coincidence results in local testing.

Edited by Kipp Cannon

Merge request reports