1Scheduling Queue Measurements 2############################# 3 4A Zephyr application developer may choose between three different scheduling 5algorithms: dumb, scalable and multiq. These different algorithms have 6different performance characteristics that vary as the 7number of ready threads increases. This benchmark can be used to help 8determine which scheduling algorithm may best suit the developer's application. 9 10This benchmark measures: 11 12* Time to add a threads of increasing priority to the ready queue. 13* Time to add threads of decreasing priority to the ready queue. 14* Time to remove highest priority thread from a wait queue. 15* Time to remove lowest priority thread from a wait queue. 16 17By default, these tests show the minimum, maximum, and averages of the measured 18times. However, if the verbose option is enabled then the set of measured 19times will be displayed. The following will build this project with verbose 20support: 21 22.. code-block:: shell 23 24 EXTRA_CONF_FILE="prj.verbose.conf" west build -p -b <board> <path to project> 25 26Alternative output with ``CONFIG_BENCHMARK_RECORDING=y`` is to show the measured 27summary statistics as records to allow Twister parse the log and save that data 28into ``recording.csv`` files and ``twister.json`` report. 29This output mode can be used together with the verbose output, however only 30the summary statistics will be parsed as data records. 31