Five Years Of Linux Kernel Benchmarks: 2.6.12 Through 2.6.37
Starting with the GnuPG test profile that measures the time to encrypt a 1GB file, the performance is relatively flat and uninteresting from Linux 2.6.12 through Linux 2.6.29, but with the Linux 2.6.30 its performance takes a rather interesting dive. For around 17 consecutive kernel releases at least, it took just under 10 seconds for this file encryption task to be carried out within the 12-threaded KVM-powered virtual machine atop an SSD, but with the Linux 2.6.30 kernel it regressed to taking about 17 seconds and that is how it's taking up through the very latest Linux 2.6.37 code. Some of the changes noted in the Linux 2.6.30 kernel change-log for the EXT3 file-system that was used throughout the Linux testing process included replace-on-rename heuristics for the data=writeback mode, replace-on-truncate heuristics for data=writeback, and using WRITE_SYNC for commits caused by fsync(). For those wondering about what was actually the commit that caused this measurable kernel regression that is still outstanding, since we can automatically bisect regressions in the Linux kernel, we will end up reporting it as is talked about at the end of this article.
When looking at the Gcrypt library performance with the CAMELLIA256-ECB cipher, there was virtually no change in performance over the past 26 Linux kernels that were benchmarked.
The OpenSSL performance is also not impacted by any changes to the Linux kernel in the past five years at least with our 64-bit multi-core virtual machine.
The IS.C test within NASA's NPB software was not impacted by the kernel upgrades too much between release, but the Linux 2.6.29 kernel was the fastest by 10% over the slowest kernel, which was Linux 2.6.12.