Software Archives
GCC 11 Compiler Performance Benchmarks With Various Optimization Levels, LTO

Given the recent forum discussion stemming from the -O3 optimization level still too unsafe for the Linux kernel (in part due to older, buggy compilers) and some users wondering about the current -O2 versus -O3 compiler optimization level impact, here is a fresh round of reference benchmarks using GCC 11.1 on Fedora Workstation 33 looking at various optimization levels and optimizations tested on dozens of different application benchmarks to see the overall impact on performance.

14 June 2021 - 45 Comments
Intel Xeon Platinum 8380 P-State CPU Frequency Scaling Comparison

As part of the curiosity-driven benchmarks and areas of technical interest now that we've gotten some of our initial Intel Xeon Platinum 8380 "Ice Lake" benchmarks out of the way has been looking into the performance of Linux's P-State CPU frequency scaling driver on the 3rd Gen Xeon Scalable server. Benchmarked for the latesting testing was the power/efficiency out-of-the-box with P-State powersave as used by default with many Linux distributions against the P-State "performance" mode as well as putting P-State into passive mode to be able to via intel_cpufreq to try the Schedutil governor that relies on the kernel's scheduler utilization data for making frequency scaling decisions. Here is a number of power/performance governor benchmarks with the dual Xeon Platinum 8380 server in these varying kernel configurations.

7 June 2021 - 6 Comments
LLVM Clang 12 Leading Over GCC 11 Compiler Performance On Intel Xeon Scalable Ice Lake

Recently we have been running a number of compiler benchmarks looking at the recently released LLVM Clang 12 and GCC 11 open-source code compilers. There is as healthy and competitive competition as ever between GCC and Clang with the mainline Linux kernel these days working well under Clang, more software projects shifting to Clang by default, and the performance being as tight as ever between GCC and Clang for compiled C/C++ code on x86_64 and AArch64. In today's article are benchmarks of Clang 12 vs. GCC 11 on the dual Intel Xeon Platinum 8380 Ice Lake server.

4 June 2021 - 17 Comments
LLVM Clang 12 Compiler Is Performing Very Well For AMD Ryzen 9 5950X / Zen 3

Earlier this week I posted some benchmarks looking at the compiler performance of GCC 11 vs. LLVM Clang 12 on the Intel Core i9 11900K "Rocket Lake" processor while in this article the same tests and same software are being carried out on an AMD Ryzen 9 5950X "Zen 3" desktop. With these AMD Linux tests the Clang 12 compiler not only yielded the fastest binaries at -O2 but carried through in the more optimized configurations as well.

20 May 2021 - 4 Comments
GCC 11 vs. LLVM Clang 12 Performance On The Intel Core i9 11900K Is A Heated Race

For those wondering how GCC and LLVM Clang are competing when running on Intel's latest Rocket Lake processors, here are some GCC 11 vs. LLVM Clang 12 compiler benchmarks with the Core i9 11900K running from the newly-released Fedora Workstation 34 featuring these very latest compilers. The compiler benchmarks were carried out at multiple optimization levels on each compiler.

18 May 2021 - 13 Comments
LuxCoreRender 2.5 OptiX Performance Tested With 19 NVIDIA GPUs

Released last week was the LuxCoreRender 2.5 open-source physically based renderer. Significant with this v2.5 update is OptiX/RTX acceleration support in addition to its existing CUDA, OpenCL, and CPU render paths. Given that, here are some fresh benchmarks of LuxCoreRender 2.5 across an assortment of NVIDIA graphics cards.

18 April 2021 - 8 Comments
AVX / AVX2 / AVX-512 Performance + Power On Intel Rocket Lake

Here is a look at the AVX / AVX2 / AVX-512 performance on the Intel Core i9 11900K "Rocket Lake" when building a set of relevant open-source benchmarks limited to AVX, AVX2, and AVX-512 caps each time while also monitoring the CPU package power consumption during the tests for looking at the performance-per-Watt in providing some fresh reference metrics over AVX-512 on Linux with the latest Intel "Rocket Lake" processors.

7 April 2021 - 59 Comments
Benchmarking AMD Zen 3 With Predictive Store Forwarding Disabled

This past week AMD published a security analysis of AMD Zen 3's new Predictive Store Forwarding (PSF) functionality. In there they did acknowledge there is the possibility where bad PSF functionality could lead to a side-channel attack albeit the real-world exposure would be quite low. In any case they are allowing interested users to disable the Predictive Store Forwarding functionality, but what they didn't comment on in that paper was what performance overhead to expect if disabling PSF. So my Easter weekend turned into AMD Zen 3 PSF benchmarking.

4 April 2021 - 22 Comments
AMD AOCC 3.0 Compiler Performance With The EPYC 75F3 - Making Fast Even Faster

Launched last week with the AMD EPYC 7003 "Milan" processors was the AOCC 3.0 code compiler as AMD's downstream of LLVM Clang with various patches now catering to optimized for Zen 3. Last week some preliminary benchmarks of AOCC 3.0 on the Ryzen 9 5950X were carried out to good results. Since then I have begun putting AOCC 3.0 through its paces on a AMD EPYC 7003 series server to overall great results.

25 March 2021 - 2 Comments
Linux 5.12 Features Intel Xe VRR, Nintendo 64 Port + Clang LTO + Much More

The Linux 5.12 merge window was off to a rough start due to winter storms preventing Linus Torvalds from merging changes for nearly one week, but in any case he appears to have caught up and the Linux 5.12-rc1 kernel is expected later today to end out the merge window. Here is a look at the many exciting changes coming for Linux 5.12.

28 February 2021 - 9 Comments
GCC 10 vs. GCC 11 Compiler Performance On AMD Zen 3

After recently looking at the early LLVM Clang 12 compiler performance on the AMD Ryzen 9 5950X, in today's benchmarking is a look at how the GCC 11 compiler performance is looking in its near final state compared to GCC 10 under a variety of build CFLAGS/CXXFLAGS configurations on the AMD Zen 3 desktop.

24 February 2021 - 4 Comments
LLVM Clang 12 Performance Benchmarks On AMD Ryzen 9 5950X

With LLVM 12 due for release next month and GCC 11 not being far behind, it's the season for fresh compiler benchmarks. In today's article is a look at the AMD Ryzen 9 5950X (Zen 3) compiler performance between LLVM Clang 11.1 against the current LLVM Clang 12.0 Git development code in its feature-frozen state.

19 February 2021 - 2 Comments
AMD Ryzen, EPYC 5~6% Faster Out-Of-The-Box With Linux 5.11

Now with the CPUFreq fix landing this week in Linux Git, the mainline Linux 5.11 kernel in its near final state is looking in very good shape for AMD Zen 2/3 hardware from Ryzen laptops and desktops through EPYC servers. The Linux 5.11 development kernel was regressed for the better part of the past two months but now that the frequency invariance regression is addressed, not only is the regression gone but generally is performing much better compared to prior kernel versions.

12 February 2021 - 51 Comments
After A Bumpy Cycle, AMD Performance Will Shine Brighter On Linux 5.11

For those following the saga of the AMD frequency invariance regression on Linux 5.11 since the Christmas investigative benchmarking looking at the performance regressions, everything now looks like it will be buttoned up in time for the Linux 5.11 stable release. As noted yesterday, there was a curve ball this week in that the patch proposed by SUSE's Giovanni Gherdovich in January to address the frequency invariance regression was turned down by the Linux power management maintainer and instead he (Rafael Wysocki of Intel) proposed an alternative patch that instead modified the CPUFreq driver. Given it's getting late into the cycle, it's been a mad rush of re-conducting benchmarks on this new kernel patch and now it looks like that solution will be sent in the coming days for Linux 5.11.

5 February 2021 - 6 Comments
AMD Schedutil vs. Performance Governor Benchmarks On Linux 5.11 Shows More Upside Potential

With a pending patch, the Linux 5.11 AMD Zen 2 / Zen 3 performance is looking very good as far as the out-of-the-box performance is concerned when using Schedutil as is becoming the increasingly default CPU frequency scaling governor on more distributions / default kernels. With the previously noted Linux 5.11 regression addressed from when the AMD CPU frequency invariance support was first introduced, the Schedutil performance from small Ryzen systems up through big EPYC hardware is looking quite good. But how much upside is left in relation to the optimal CPU frequency scaling performance with the "performance" governor? Here is a look at those benchmarks on Ryzen and EPYC for Schedutil vs. Performance on a patched Linux 5.11 kernel.

27 January 2021 - 22 Comments
Patched Linux 5.11 Continues Looking Great For AMD Ryzen/EPYC Performance

While the initial AMD Linux 5.11 performance regression written about at the end of last year was of much concern given the performance hits to AMD Zen 2 / Zen 3 processors with the out-of-the-box "Schedutil" governor, with a pending patch the regression is not only addressed but in various workloads we continue seeing better performance than even compared to Linux 5.10. Here is the latest from several more days of extensive performance testing.

25 January 2021 - 12 Comments
A Look At The CPU Security Mitigation Costs Three Years After Spectre/Meltdown

With this week marking three years since Spectre and Meltdown were made public in ushering in a wave of CPU security disclosures that followed and mitigations that often resulted in measurable performance hits, here is a look at how the performance costs stand today with various new and older Intel CPUs as well as AMD processors too. This article is looking at the current performance costs under Linux with the default mitigations and then the run-time disabling of the relevant mitigations for each of the processors under test while using an up-to-date Ubuntu 20.10 paired with the new Linux 5.10 LTS kernel.

6 January 2021 - 26 Comments
AMD Performance On Linux 5.11 Remains Mixed Due To Schedutil With Frequency Invariance

Back on Christmas I wrote about Linux 5.11 regressing for AMD performance on Zen 2 and newer systems where the just-added CPU frequency invariance support was often hurting various workloads when using the default "Schedutil" scheduler utilization frequency scaling governor. Since then and through the holidays I have been carrying out many more benchmarks looking at the Linux 5.11 performance with a particular focus on the AMD desktop/server platforms.

4 January 2021 - 33 Comments
Testing The Intel "Workload Hints" Capability Of Linux 5.11

There are many new features with the Linux 5.11 kernel that is presently under development but one of the ones I've been more curious about for how well it works is the Intel "workload hints" that can be passed via its thermal framework. This is about providing the system with hints of workloads being run to optimize the thermal/power properties.

30 December 2020 - 4 Comments
Linux 5.11 Is Heavy On New Features, Improvements For 2021

The Linux 5.11 merge window has been open the past two weeks following the debut of Linux 5.10 but is set to close today. A lot of new features and exciting improvements were merged for Linux 5.11 although it is somewhat of a bumpy ride at the moment but should be buttoned up and ready for its stable release come February.

27 December 2020 - 13 Comments
Linux 5.11 Is Regressing Hard For AMD Performance With Schedutil

It's not the Grinch in 2020 that stole Christmas, but the Schedutil CPU frequency scaling governor on the in-development Linux 5.11 kernel that is thrashing performance for AMD Zen 2 and newer. Distributions like Ubuntu, Fedora, and Manjaro are beginning to use CPUFreq Schedutil by default on newer kernels and thus leading to a very bad initial/out-of-the-box experience with the current behavior on the early Linux 5.11 code.

25 December 2020 - 32 Comments
AMD AOCC 2.3 Squeezing Out Extra Performance For EPYC Over GCC 10, Clang 11

At the start of the month AMD released AOCC 2.3 as the newest version of the AMD Optimizing C/C++ Compiler. AOCC is one of several LLVM/Clang downstream versions maintained by the company with this one being about delivering flagship AMD Zen family compiler support. From an AMD EPYC 7002 "Rome" series processor I recently wrapped up fresh benchmarks of AOCC 2.3 against the current GCC 10 and Clang 11 compiler releases.

17 December 2020 - 14 Comments
AMD Zen 3 Performance With The Initial "znver3" GCC Compiler Support

Last week AMD published their Zen 3 support for GCC code compiler. That initial support, which has already been merged into GCC 11, is the initial support flipping on newly supported instructions but not yet offering any tuned scheduler model or other optimizations compared to the existing Zen 2 path. In any case, here is a look at the performance changes with building the open-source benchmarks under test with "znver3" compared to the prior Zen 2 and Zen 1 targets along with generic x86_64 and then also looking at the performance if catering the compiler targets for Intel's Skylake and Haswell processors.

9 December 2020 - 25 Comments

782 software articles published on Phoronix.