Software Linux Reviews & Articles
There have been 839 Linux hardware reviews and benchmark articles on Phoronix for software. Separately, check out our news section for related product news.
There have been 839 Linux hardware reviews and benchmark articles on Phoronix for software. Separately, check out our news section for related product news.
Yesterday marked the release of Linux 6.0-rc1 and as such the merge window is now over and no more feature work is set to land in this kernel version. Here is my write-up of all the interesting new features and changes/improvements coming for Linux 6.0.
As with many new Intel/AMD laptops these days, the recently launched Lenovo ThinkPad X13 Gen3 with AMD Ryzen 7 PRO 6850U "Rembrandt" SoC boasts ACPI Platform Profile support that is exposed under Linux for switching between low-power, balanced (default), and performance modes. For those curious about this ACPI Platform Profile impact, here are some benchmarks from this 6850U laptop under Ubuntu Linux and its impact on power and thermal efficiency too.
Since the disclosure of Retbleed earlier this month as the newest CPU security vulnerability around speculative execution, I've posted some Intel/AMD benchmarks looking at the mitigation cost for the affected older generations of processors. Last week I also looked at the accumulated CPU mitigation cost on AMD Zen 1. Today is a similar comparison over on the Intel Xeon E3 v5 "Skylake" side with looking at the cost of just the Retbleed mitigations and then the overall CPU mitigation cost when toggling all of the various vulnerabilities with the "mitigations=off" flag.
Last week I posted my initial benchmarks for the Linux impact of mitigating Retbleed as the newest CPU speculative execution vulnerability. As noted in the prior Retbleed articles, on the AMD side it's Zen 1/1+/2 processors affected as well as older Bulldozer CPUs. That earlier article included Zen 2 benchmarks while in this article are Zen 1 tests given its situation is slightly different.
Following the recent discussions about -O3'ing the Linux kernel and other compiler optimizations, a request came in to see some fresh GCC compiler optimization benchmarks with the recently released GCC 12. So here is a fresh look at various GCC optimization levels up through -Ofast as well as with link-time optimizations (LTO) and "-march=native" tuning on the new GCC 12 with the mature AMD Ryzen Threadripper 3990X platform.
After dealing with the Intel Alder Lake P GuC firmware breakage around Linux 5.19 Git that is now to be addressed by the upstream Intel developers, it was on to performance testing the shiny new Core i7 1280P with this kernel due to be released as stable within the next two weeks... For those concerned about maximum performance, there was a glaring performance regression for this Alder Lake P on the new kernel being released as stable later this month. Well, a default change in performance/behavior at least but the power efficiency / performance-per-Watt tended to be better on this new kernel.
Yesterday Retbleed was made public as a new speculative execution attack exploiting return instructions. While the "good" news is Retbleed only impacts prior generations of AMD and Intel processors, the bad news is the mitigated performance impact on Linux is quite severe. Since yesterday I have been benchmarking the newly-merged Linux patches on various Intel and AMD processors affected by Retbleed. It's very bad if you are on an affected processor.
Stemming from last weeks Linux kernel patches suggesting an -O3 experimental option for all CPU architectures and Linus Torvalds rather quickly shooting it down, here are some fresh benchmarks looking at the Linux kernel performance when the kernel image is rebuilt with the -O3 optimization level rather than -O2.
Coming about last week was a Fedora 37 change proposal to improve the profiling and debugging of Fedora packages but with possible performance costs. That suggested change is about adding "-fno-omit-frame-pointer" to the default CFLAGS/CXXFLAGS when building packages so the frame pointer is always available for improving the debugging/profiling of the stock Fedora packages. Unfortunately, it can come with significant performance costs as these benchmarks show.
One of the great defaults when installing Pop!_OS or receiving a pre-loaded laptop/desktop from System76 or the new HP Dev One is that it encourages full-disk encryption and prominently shown during the install process. I highly recommend full-disk encryption especially for laptops. As it's been a few years since running benchmarks looking at the overhead of LUKS encryption, here are some benchmarks of Pop!_OS 22.04 on the HP Dev One with the full disk encryption enabled and then a fresh install without encryption.
Stemming from a recent reader request around seeing some fresh OpenJDK performance benchmarks, here are benchmarks of OpenJDK 9 through OpenJDK 18 plus the early access OpenJDK 19 builds. Additionally, OpenJ9 and GraalVM CE were tossed in as alternative implementations.
Stemming from my recent AWS Graviton3 benchmarks and looking at Graviton3 against Intel Xeon and AMD EPYC, a number of Phoronix readers expressed interest in seeing some compiler tuning benchmarks for the Graviton3 around its Arm Neoverse-V1 cores with SVE support. Here are some benchmarks for those interested in the compiler tuning impact for this new high performance Arm cloud processor.
Last week with the release of Blender 3.2 bringing AMD HIP support for Linux to provide for Radeon GPU acceleration, I posted some initial benchmarks of AMD Radeon RX 6000 series with HIP against NVIDIA RTX with OptiX. There was interest by some Phoronix readers in also seeing NVIDIA CUDA results even though OptiX is in good shape with RTX GPUs, so with that here are results of NVIDIA CUDA vs. NVIDIA OptiX vs. AMD HIP with Blender 3.2 on Ubuntu Linux.
There was much interest in the recent Python 3.11 beta benchmarks showing much performance uplift from this in-development version of Python compared to prior 3.x releases. While Python 3.11 performance is looking great and huge advantages compared to prior versions, there are also alternative Python implementations like PyPy and Pyston. Stemming from Phoronix reader requests, here are benchmarks showing how Python 3.11 beta performance compares to those alternative Python implementations.
Last month Python 3.11 Beta 1 was released as their first preview of this major update to the Python programming language. Besides new language features and other improvements, Python 3.11 performance is looking fantastic with very nice performance uplift over prior Python 3.x releases.
With the Linux 5.19 merge window complete, here is my usual look at all of the interesting changes I've been watching for this next version of the Linux kernel. Linux 5.19 is quite a big summer time upgrade to this open-source kernel with many new and improved features coming for this kernel that will debut as stable in late July.
In addition to the many HPC workloads and other scientific computing tasks where Intel's AVX-512 performance on their latest processor proves very beneficial, it also turns out AVX-512 can provide significant benefit to a much more mundane web server task: JSON parsing. The simdjson project that is focused on "parsing gigabytes of JSON per second" this week issued simdjson 2.0 and is headlined by an Intel-led contribution of AVX-512 support.
For those making use of the Linux 5.15 LTS kernel such as Ubuntu 22.04 with using this long-term support kernel by default, Linux 5.15.35 is out today and is a notable point release for back-porting an Intel P-State driver fix for Intel Alder Lake systems that leads to much better performance in properly deciding between P and E core selection. Here are some benchmarks on Ubuntu 22.04 LTS with Linux 5.15.35 against other kernel options.
With the Arch Linux based Asahi Linux running well on the Apple M1 (aside from accelerated graphics and various other features not implemented yet), one of the areas I was curious about was how well LLVM Clang and GCC C/C++ compilers compete when running on the Apple M1 with Linux. In this article are some quick benchmarks looking at how the stock compilers on Asahi currently compare for Apple's Arm-based SoC.
As previously talked about on Phoronix with the in-development Linux 5.18 kernel there is a change to the Linux kernel scheduler around the NUMA imbalance handling when spanning multiple LLCs as is the case with AMD Zen CPUs. Already I've carried out benchmarks looking at some of the areas where AMD EPYC CPUs are enjoying speed-ups on Linux 5.18. Since benchmarking the AMD EPYC 7773X with its hefty 1.5GB of L3 cache for 2P servers via AMD 3D V-Cache, I've been curious to try this forthcoming kernel on that Milan-X configuration. Here are such benchmarks looking at the AMD EPYC 7773X 2P performance on Ubuntu 22.04 with its default Linux 5.15 kernel against Linux 5.17 stable and then the 5.18 development kernel.
Last month with the AMD EPYC 7773X Linux benchmarks and Milan-X in the Azure cloud I showed the impressive capabilities of AMD's new Milan-X processors with 768MB of L3 cache per socket (1.5GB cache per 2P server!) for a range of workloads. All of that initial benchmarking as usual was done using the default GCC system compiler across all tested AMD/Intel processors. Of course, there also exists AMD's Optimizing C/C++ Compiler (AOCC) as a downstream of LLVM/Clang with various Zen optimization patches applied. Curious about the AOCC impact for Milan-X, here are some benchmarks looking at the EPYC 7773X 2P performance across AOCC, GCC, and LLVM Clang.
One of the most prominent features of Linux 5.17 for end-users was the introduction of the AMD P-State driver that is designed to deliver better energy efficiency than the generic ACPI CPUFreq frequency scaling driver relied on by AMD Ryzen processors up to this point. For those wondering how the performance and efficiency currently compare for Ryzen laptops, here are some benchmarks recently carried out on Linux 5.17 for both drivers and testing both the Schedutil and Performance governors.
With Linux 5.18-rc1 released last night the merge window is now over for feature work on Linux 5.18. So as usual here is my feature overview of all the changes for Linux 5.18 that caught my eye and were interesting for this kernel that is working its way towards the stable debut by late May.
Made public this week was the Spectre-BHB / BHI vulnerability and while only Intel and Arm processors are currently believed to be impacted, in the course of that research the folks at VUSec discovered AMD's current Retpoline strategy for Spectre V2 mitigations is not adequate. This has led to a change in behavior for AMD processors and is already applied to the Linux kernel. Here is a look at what it means for desktop and server performance due to the change in return trampoline handling.
Made public on Tuesday was BHI / Spectre-BHB as the newest offshoot from Spectre V2. There were Linux patches immediately posted for affected Intel and Arm processors while also making adjustments to AMD CPUs around its Retpoline handling. The VUSec security researchers that discovered BHI are recommending Retpolines be enabled for newer processors even those with hardware mitigations against Spectre V2, but that's that performance cost? Here are some initial benchmarks.
Earlier this month I noted a Linux scheduler change queued into sched/core ahead of the Linux 5.18 cycle that is expected to help AMD EPYC processors and other select Zen processors in various workloads. The change has been in the works for several months and is about adjusting the allowed NUMA imbalance when spanning multiple LLCs. I've now carried out some of my own benchmarks on EPYC hardware and indeed is further ratcheting up the Linux kernel performance.
With GCC 12 now onto stage four meaning that the major feature work is over, I've slowly begun running more tests on the GCC 12 compiler that is due for its stable introduction around April. First up is a look at the Core i9 12900K "Alder Lake" performance on GCC 12 in its near-final form compared to GCC 11.2 as the current stable release from last year.
Since Intel's Alder Lake launch one of the test requests to come in a few times has been about the Intel P-State CPU frequency scaling driver and how its performance differs with the various governor choices available for altering the CPU frequency scaling behavior. Now that Linux 5.16 stable is out and running in good shape on Alder Lake, here are some Core i9 12900K benchmarks looking at various CPU frequency scaling choices and their impact on raw performance as well as CPU thermals and power consumption.
This morning marked the release of Linux 5.17-rc1 that officially ends the merge window for this next stable kernel series. Linux 5.17 won't see its stable debut until around the end of March but there is a lot to get excited about for this open-source kernel in 2022.
Intel in cooperation with the Alliance for Open Media have released SVT-AV1 0.9 with nearly one year worth of changes to this high performance CPU-based AV1 video encoder. SVT-AV1 0.9 is now even faster as shown by our latest benchmarks.
839 software articles published on Phoronix.