Hello everybody, it's me again
Consider the following system:
Ryzen 3600x (SMT disabled)
16 GB RAM
NI PCI-6031E (100 kS/s)
We are running a C program with comedi, which is looping over for(;;) for a measurement of a voltage and we react to it by setting a new output voltage according to a very simple logic. (Program is executed on an isolated cpu core)
The reaction time (executing the loop once) is around 15 micro seconds and at max 24 micro seconds. Theoretically with this card 10 micro seconds should be possible.
My question is, how on earth do we not reach the maximum potential of a 20 years old card with such modern hardware? Surely there must be a way to reach the maximum? Is there a special way to code for those cards? Is comedi a limiting factor? Do I need to use two cpu cores and therefore parallelize the code?
Thank you very much in advance