Software Archives
The 2019 Laptop Performance Cost To Linux Full-Disk Encryption

I certainly recommend that everyone uses full-disk encryption for their production systems, especially for laptops you may be bringing with you. In over a decade of using Linux full-disk encryption on my main systems, the overhead cost to doing so has fortunately improved with time thanks to new CPU instruction set extensions, optimizations within the Linux kernel, and faster SSD storage making the performance penalty even less noticeable. As it's been a while since my last look at the Linux storage encryption overhead, here are some fresh results using a Dell XPS laptop running Ubuntu with/without LUKS full-disk encryption.

14 March 2019 - 34 Comments
Linux 4.19 Kernel Benchmarks On The Raspberry Pi

With the Raspberry Pi Foundation recently having begun rolling out a Linux 4.19-based kernel to Raspberry Pi boards, here are some benchmarks looking at the performance of two Raspberry Pi systems with the new Linux 4.19 kernel compared to its previous 4.14 kernel.

13 March 2019 - 30 Comments
Intel P-State vs. CPUFreq Frequency Scaling Performance On The Linux 5.0 Kernel

It's been a while since last running any P-State/CPUFreq frequency scaling driver and governor comparisons on Intel desktop systems, so given the recent release of Linux 5.0 I ran some tests for looking at the current state of affairs. Using an Intel Core i9 9900K I tested both the P-State and CPUFreq scaling drivers and their prominent governor options for seeing not only how the raw performance compares but also the system power consumption, CPU thermals, and performance-per-Watt.

12 March 2019 - 15 Comments
GCC 9 Compiler Tuning Benchmarks On Intel Skylake AVX-512

Recently I carried out a number of GCC 9 compiler benchmarks on AMD EPYC looking at the performance benefits of "znver1" compiler tuning and varying optimization levels to see when this level of compiler tuning pays off. There was interest from that in seeing some fresh Intel Skylake-X / AVX-512 figures, so here are those benchmarks of GCC 9 with various tuning options and their impact on the performance of the generated binaries.

8 March 2019 - 28 Comments
The Current Spectre / Meltdown Mitigation Overhead Benchmarks On Linux 5.0

With it being a little over one year since Spectre and Meltdown mitigations became public and with the Linux kernel today hitting the big "5.0" release, I decided to run some benchmarks of the current out-of-the-box performance hit as a result of the current default mitigation techniques employed by the Linux kernel. The default vs. unmitigated performance impact for Spectre/Meltdown are tested on an Intel Core i7 and Core i9 systems while there is also an AMD Ryzen 7 box for reference with its Spectre mitigation impact on Linux 5.0.

3 March 2019 - 32 Comments
The Performance Impact Of GCC CPU Tuning On The Linux Kernel's Performance

Last week there was the patch being proposed for the mainline Linux kernel that has long been carried by Gentoo's kernel to provide CPU optimization options, which were quickly shot-down by upstream maintainers, there were many requests to benchmark said patches... Here are dozens of performance figures looking at the performance impact of these optimizations for AMD Zen (znver1), Skylake, and Skylake X (Skylake-AVX512) compared to a stock mainline kernel build on several different systems.

27 February 2019 - 55 Comments
Linux 5.0 Kernel Performance Is Sliding In The Wrong Direction

With the Linux 5.0 kernel performance approaching the finish line, the past few days I've been ramping up my tests of this new kernel in our benchmarking farm. Unfortunately, when looking at the results at a macro level it's pointing towards Linux 5.0 yielding lower performance than previous kernel releases.

22 February 2019 - 40 Comments
Extensive Benchmarks Looking At AMD Znver1 GCC 9 Performance, EPYC Compiler Tuning

With the GCC 9 compiler due to be officially released as stable in the next month or two, we've been running benchmarks of this near-final state to the GNU Compiler Collection on a diverse range of processors. In recent weeks that has included extensive compiler benchmarks on a dozen x86_64 systems, POWER9 compiler testing on the Talos II, and also the AArch64 compiler performance on recent releases of GCC and LLVM Clang. In this latest installment of our GCC 9 compiler benchmarking is an extensive look at the AMD EPYC Znver1 performance on various releases of the GCC compiler as well as looking at various optimization levels under this new compiler on the Znver1 processor.

20 February 2019 - 12 Comments
Linux 5.0 I/O Scheduler Benchmarks On Laptop & Desktop Hardware

Our past tests have shown that while most Linux distributions default to "none" for their I/O scheduler on NVMe solid-state storage, that isn't necessarily the best scheduler decision in all cases. Here are tests using the Linux 5.0 Git kernel using laptop and desktop hardware while evaluating no I/O scheduler, mq-deadline, Kyber, and BFQ scheduler options.

18 February 2019 - 18 Comments
GCC 8/9 vs. LLVM Clang 7/8 Compiler Performance On AArch64

With Clang 8.0 due out by month's end and GCC 9 due for release not long after that point, this week we've been running a number of GCC and Clang compiler benchmarks on Phoronix. At the start of the month was the large Linux x86_64 GCC vs. Clang compiler benchmarks on twelve different Intel/AMD systems while last week was also a look at the POWER9 compiler performance on the Raptor Talos II. In this article we are checking out these open-source compilers' performance on 64-bit ARM (AArch64) using an Ampere eMAG 32-core server.

12 February 2019 - 20 Comments
GCC 8/9 vs. LLVM Clang 7/8 Compiler Performance On POWER9 With The Raptor Talos II

Earlier this week I delivered the results of our largest-ever GCC vs. LLVM Clang Linux x86_64 compiler comparison with a dozen systems from various generations of Intel and AMD CPUs and using 62 benchmarks tested on GCC 8/9 and Clang 7/8 releases. In this article the compiler performance is being looked at for the IBM POWER9 architecture with the benchmarks done on a Raptor Computing Systems Talos II workstation running Ubuntu Linux.

8 February 2019 - 4 Comments
62 Benchmarks, 12 Systems, 4 Compilers: Our Most Extensive Benchmarks Yet Of GCC vs. Clang Performance

After nearly two weeks of benchmarking, here is a look at our most extensive Linux x86_64 compiler comparison yet between the latest stable and development releases of the GCC and LLVM Clang C/C++ compilers. Tested with GCC 8, GCC 9.0.1 development, LLVM Clang 7.0.1, and LLVM Clang 8.0 SVN were tests on 12 distinct 64-bit systems and a total of 62 benchmarks run on each system with each of the four compilers... Here's a look at this massive data set for seeing the current GCC vs. Clang performance.

5 February 2019 - 13 Comments
Glibc 2.29 Is Offering Up Some Nice Performance Improvements

Glibc 2.29 was released a few days back and like most GNU C Library releases -- particularly in recent times -- does offer up more CPU performance optimizations... Some early benchmarks done this weekend do show some nice performance improvements in select workloads at least out of our initial benchmarking.

3 February 2019 - 15 Comments
GCC vs. Clang Compiler Performance On NVIDIA Xavier's Carmel ARMv8 Cores

Since receiving the powerful NVIDIA Jetson AGX Xavier with its ARMv8 Carmel cores on this Tegra194 SoC a while back, it's been quite a fun developer board for benchmarking and various Linux tests. One of the areas I was curious about was whether GCC or Clang would generate faster code for this high performance ARM SoC, so here are some benchmarks.

13 January 2019 - 6 Comments
The Many New Features & Improvements Of The Linux 5.0 Kernel

Linus Torvalds just released Linux 5.0-rc1, what was formerly known as Linux 4.21 over the past two weeks. While the bumping was rather arbitrary as opposed to a major change necessitating the big version bump, this next version of the Linux kernel does come with some exciting changes and new features (of course, our Twitter followers already have known Linux was thinking of the 5.0 re-brand from 4.21). Here is our original feature overview of the new material to find in this kernel.

6 January 2019 - 4 Comments
Linux KVM Continues Offering Much Better Performance Than VirtualBox

With the release earlier this month of Oracle VirtualBox 6.0, besides running some benchmarks of its VMSVGA 3D graphics support, I also ran some basic benchmarks to see how a similarly configured VM under both VirtualBox 6.0 with Linux KVM setup via virt-manager would compare for performance as we hit the end of 2018. This quick round of Linux virtualization tests was done on the AMD Ryzen Threadripper 2990WX system.

30 December 2018 - 32 Comments
GCC 9.0 Compiler Benchmarks Against GCC7/GCC8 At The End Of 2018

In early 2019 we will see the first stable release of GCC 9 as the annual update to the GNU Compiler Collection that is bringing the D language front-end, more C2X and C++ additions, various microarchitecture optimizations from better Znver1 support to Icelake, and a range of other additions we'll provide a convenient recap of shortly. But for those wondering how the GCC 9 performance is looking, here are some fresh benchmarks when benchmarking the latest daily GCC 9.0 compiler against GCC 7.4 and GCC 8.2 atop Clear Linux using an Intel Core i9 7980XE Skylake-X system.

28 December 2018 - 9 Comments
PGI 18.10 Compiler Benchmarks Against GCC 8.2, LLVM Clang 7.0

Given the recently release of the PGI 18.10 Community Edition compiler by NVIDIA, I was curious to see how the performance on the CPU is looking for this proprietary compiler on Linux. For those curious as well, here are some benchmarks of the PGI 18.10 C/C++ compiler against the GCC 8.2.0 and LLVM Clang 7.0 open-source compilers.

20 December 2018 - 7 Comments
VirtualBox 6.0 3D/OpenGL Performance With VMSVGA Adapter

With yesterday's release of Oracle VM VirtualBox 6.0, one of the most pressing changes for Linux guests is the use of the new VMSVGA 3D graphics device emulation by default. VMSVGA is the SVGA II graphics adapter from virtualization competitor VMware, but allows for the mature SVGA Linux graphics driver stack to be used. Here are some benchmarks looking at the OpenGL performance on VirtualBox 6.0.

19 December 2018 - 13 Comments
Core i9 7980XE vs. Threadripper 2990WX - The Pre/Post 2018 Linux Kernel Performance

Earlier this week I posted some benchmarks looking at the Linux kernel performance from the start to end of 2018 using an Intel Core i9 7980XE system. Here is the second part of that testing in looking at the same Linux 4.14 vs. 4.20 kernel benchmarking while putting the i9-7980XE performance side-by-side against the AMD Ryzen Threadripper 2990WX for seeing how its performance was impacted under the same kernel tests.

19 December 2018 - 10 Comments
A Look At The Linux Kernel Performance From 4.10 To 4.20

Here is a look at how the Linux kernel performance has evolved since Linux 4.10, which was released back in February of 2017, up through the current Linux 4.20 development cycle ahead of its debut at the end of December or early January. All of the Linux kernel benchmarks were done on the same venerable Intel Core i7 5960X system.

26 November 2018 - 13 Comments
Benchmarking The Work-In-Progress Spectre/STIBP Code On The Way For Linux 4.20

Due to the performance fallout from the introduction of STIBP for cross-hyperthread Spectre Variant Two mitigation in the Linux 4.20 kernel, the stable Linux kernels are reverting those patches after originally being quickly back-ported to those branches. For Linux 4.20, STIBP on by default for all processes remain in place until the revised STIBP code is ready for merging that is still expected to happen before the stable Linux 4.20 debut in about one month's time. Here are some initial benchmarks of those preliminary improvements.

23 November 2018 - 2 Comments
AMD AOCC 1.3 Compiler Benchmarks vs. GCC 8.2 vs. LLVM Clang 7.0

Earlier this month marked the release of the AMD Optimizing C/C++ Compiler 1.3 (AOCC 1.3) with a re-base to the LLVM 7.0 code-base, enhanced loop optimizations, better vectorization, code generation, integration of the optimized AMD Math Library, and other enhancements. Here are some fresh benchmarks against AMD AOCC 1.3 against LLVM Clang 7.0 upstream as well as GCC 8.2.0.

20 November 2018 - 20 Comments
The Spectre/Meltdown Performance Impact On Linux 4.20, Decimating Benchmarks With New STIBP Overhead

As outlined yesterday, significant slowdowns with the Linux 4.20 kernel turned out to be due to the addition of the kernel-side bits for STIBP (Single Thread Indirect Branch Predictors) for cross-HyperThread Spectre Variant Two mitigation. This has incurred significant performance penalties with the STIBP support in its current state with Linux 4.20 Git and is enabled by default at least for Intel systems with up-to-date microcode. Here are some follow-up benchmarks looking at the performance hit with the Linux 4.20 development kernel as well as the overall Spectre and Meltdown mitigation impact on this latest version of the Linux kernel.

17 November 2018 - 60 Comments
A Look At The GCC 9 Performance On Intel Skylake Against GCC 8, LLVM Clang 7/8

With GCC 9 embarking upon its third stage of development where the focus ships to working on bug/regression fixes in preparation for releasing the GCC 9.1 stable compiler likely around the end of Q1'2019, here is a fresh look at the GCC 9 performance with its latest development code as of this week compared to GCC 8.2.0 stable while using an Intel Core i9 7980XE test system running Ubuntu Linux. For good measure are also fresh results from LLVM Clang 7.0 stable as well as LLVM Clang 8.0 SVN for the latest development state of that competing C/C++ open-source compiler.

13 November 2018 - 15 Comments
The Performance Impact Of Spectre Mitigation On POWER9

Over the past year we have looked extensively at the performance impact of Spectre mitigations on x86_64 CPUs but now with having the Raptor Talos II in our labs, here are some benchmarks to see the performance impact of IBM's varying levels of Spectre mitigation for POWER9.

11 November 2018 - 16 Comments

651 software articles published on Phoronix.