A low countrate may occur due to CPU overload, especially during computationally intensive measurements.
Each initialized measurement runs on its own thread, but only a few of our API measurements, such as HistogramLogBins , can utilize multiple cores. If a single measurement consumes excessive CPU time, the Time Tagger's hardware buffer can fill up, leading to an overflow event and data loss.
Consider a time-resolved imaging experiment with 500 pixels × 500 pixels × 1000 bins per histogram, resulting in approximately 1 GByte of data. Modern high-performance computers (e.g., processors with DDR5 RAM) have a CPU-to-RAM bandwidth of about 38.4 GByte/s.
Under ideal conditions, assuming no other CPU activity and the data being transferred to an independent memory channel, copying 1 GByte of data theoretically takes at least 26 ms.
To retrieve the data, you would use the getData() method. This method:
If getData() is called too frequently while handling large data volumes, it keeps the pipeline locked for longer periods. This reduces the available CPU time to process incoming data, ultimately causing buffer overflows and data loss.
To avoid CPU overload and ensure smooth data processing: