Closed kvark closed 1 year ago
Perf-wise I don't see much difference: Old:
individual tasks: single worker time: [1.6127 ms 1.6222 ms 1.6316 ms] change: [-6.0241% -5.2214% -4.3739%] (p = 0.00 < 0.05) multi-task: single worker time: [1.0690 ms 1.0743 ms 1.0796 ms] change: [-3.0450% -1.0601% +1.5580%] (p = 0.43 > 0.05) individual tasks: 8 workers time: [713.70 µs 720.72 µs 727.99 µs] change: [-8.5857% -6.8229% -4.9356%] (p = 0.00 < 0.05) multi-task: 8 workers time: [305.64 µs 307.27 µs 308.94 µs] change: [-6.7217% -5.5816% -4.4155%] (p = 0.00 < 0.05)
New:
individual tasks: single worker time: [1.6806 ms 1.6903 ms 1.7003 ms] change: [-94.953% -94.909% -94.867%] (p = 0.00 < 0.05) multi-task: single worker time: [1.0850 ms 1.0931 ms 1.1016 ms] change: [-75.084% -74.816% -74.527%] (p = 0.00 < 0.05) individual tasks: 8 workers time: [769.29 µs 780.39 µs 791.85 µs] change: [+1.2185% +3.2096% +5.0820%] (p = 0.00 < 0.05) multi-task: 8 workers time: [318.11 µs 321.61 µs 325.37 µs] change: [-94.604% -94.527% -94.441%] (p = 0.00 < 0.05)
However, it simplifies things quite a bit. There is less mutexes around, less obscure logic of waking up threads. It's much nicer internally.
Perf-wise I don't see much difference: Old:
New:
However, it simplifies things quite a bit. There is less mutexes around, less obscure logic of waking up threads. It's much nicer internally.