3.16 is out for 1.5 weeks now. Enough time to benchmark the new kernel in comparison with the 5 recent kernel versions. All benchmarks are targeted towards the kernel CPU scheduler. There was a lot of progress on the cbenchsuite visualization code to improve the usability and details on the plots. These new developments include box plots and a whole new web frontend to browse the benchmark results.
- Detailed result browser (box plots and less content in result plots)
- Overview result browser (bar plots with as much information as possible)
As you can see in the browsers above there are much more details visible with the new box plots.
I will show some results here that are more or less significant in comparison to older kernel versions.
Let’s start with a benchmark that measures the performance of the fork syscall.
This is the performance of the fork() syscall when 4 threads perform the same fork loop on different kernels. You can clearly see that 3.16 reaches 10,000 forks less than previous kernel versions. That is about 4% less forks. But that’s only the case for 4 threads. In other benchmark configurations the performance difference is not as big as here.
Continuing with the popular kernel compile benchmark. How fast is a kernel compiled on different kernel versions with different number of threads.
This plot shows the runtime comparison with 2 threads. As you can see in the plot, 3.16 performs better than 3.15 and other versions. With more than 4 threads, this performance benefit of 3.16 is not present.
Also popular as a scheduler benchmark is hackbench. Hackbench has a number of groups which communicate with each other. They can be setup to use pipes or not.
The plots show that the performance using pipes got worse in 3.16 while the performance without pipes increased.
The detailed setup for all the plots is visible in the result browsers linked above. I used a development state of cbenchsuite to measure and create plots and web frontend. The latest features are not released yet but will probably be soon.
If you have any questions, don’t hesitate to ask them.