Scheduler and Mutex micro optimizations
This optimizations where made and tested with GENERIC configuration.
Test 1: 16 Threads
| Metric | Optimized | Standard | Difference |
|---|---|---|---|
| Total Events | 850074 | 811952 | +38122 events |
| Avg Latency (ms) | 2.26 | 2.36 | -0.10 |
| 95th Percentile (ms) | 16.21 | 17.32 | -1.11 |
| Events (avg/stddev) | 53129.6250/620.02 | 50747.0000/584.61 | Better throughput |
Test 2: 32 Threads
| Metric | Optimized | Standard | Difference |
|---|---|---|---|
| Total Events | 506721 | 500707 | +6014 events |
| Avg Latency (ms) | 7.58 | 7.67 | -0.09 |
| 95th Percentile (ms) | 62.19 | 63.32 | -1.13 |
| Events (avg/stddev) | 15835.0312/768.70 | 15647.0938/714.52 | Better throughput |
Test 3: 64 Threads
| Metric | Optimized | Standard | Difference |
|---|---|---|---|
| Total Events | 595346 | 583812 | +11534 events |
| Avg Latency (ms) | 12.88 | 13.16 | -0.28 |
| 95th Percentile (ms) | 102.97 | 106.75 | -3.78 |
| Events (avg/stddev) | 9317.9062/408.55 | 9122.0625/342.80 | Better distribution |
*the tests were made using sysbench threads --threads=N --time=120 run. The system was Virtual Box with Ryzen 7 4800H (16) and VirtualBox had access to all of the threads.
*FreeBSD 16.0
For more informations (or if i need to post another patch or something) email me at lex.studio.base@gmail.com