Closed denis-stepanov closed 2 years ago
After detailed measurements the "imperfections in timing" have been confirmed. There are at least these sources of additional delay:
As such, the need of the fourth thread is thus confirmed. Measurements show that all four threads have more or less the same load and a duty cycle of around 80%. This looks not bad for a default configuration, keeping system load close to 100% but still leaving some time for OS to do other tasks.
With default parameters of 3 sec recognition interval and 1 sec shift, it should be sufficient to have just three threads running. The fourth one was added just in case, to cover for imperfections in timing. Practice shows that one of four threads is idling most of the time. Maybe an extra thread should be launched only when
interval / shift
does not amount to integer.