Skip to content

Improve the performance of the ADC module by adding threads

Jekabs Karklins requested to merge JIRA_issue_DM-890 into master

Created by: SkyToGround

This branch was created with the purpose of improving the throughput of the ADCReadout pipeline but it turned into a bit of a beast. What follows is a list of changes:

  • Added trompeloeil (a mocking framework) as a dependency
  • Added unit tests enabled by the use of trompeloeil
  • Removed (now unused) stream packet processing
  • Moved packet processing into 4 threads, one for each ADC channel
  • Added some new stats for debugging purposes
  • Added CLI argument for setting stats suffix
  • Modified integration test data generator
  • Various minor fixes and improvements

I concede that the unit testing could be more extensive. However, I feel that most of the problematic parts of the code has extensive unit tests thus I will leave it to whoever reviews the code to decide if I should add more tests.

Merge request reports