How The Ubuntu Linux Performance Has Evolved For SiFive RISC-V Over The Last Four Years

SiFive recently sent over their new HiFive Premier P550 developer board and as part of that fresh RISC-V CPU testing I’ve also been re-testing the prior SiFive HiFive Unmatched developer board from 2020~2021 for reference. Out of curiosity, I’ve carried out some tests using the HiFive Unmatched to look at how the Ubuntu Linus RISC-V performance has evolved from Ubuntu 21.04 when I first tested that RISC-V quad-core developer board, Ubuntu 22.04 LTS, and now the latest Ubuntu 24.04 LTS packages.

SiFive HiFive Unmatched

In advance of the HiFive Premier P550 review in the coming days, this article today is looking at that historical RISC-V Linux performance perspective across Ubuntu 21.04 / 22.04 LTS / 24.04 LTS on that mature HiFive Unmatched RISC-V developer board. As a reminder the HiFive Unmatched features four RISC-V 64-bit cores, 16GB of RAM, and was running with a Samsung 980 NVMe SSD and a Radeon HD 6770 graphics card.

SiFive HiFive Unmatched desktop

The SiFive Freedom U740 SoC is what powers the HiFive Unmatched developer board.

SiFive HiFive with RISC-V SoC

Ubuntu 21.04 as a reminder was on Linux 5.11 and using GCC 10.3, Ubuntu 22.04 moved to Linux 5.15 and GCC 11.2 and other software updates, and now Ubuntu 24.04 LTS is on Linux 6.8 with GCC 13.3 and other updated software packages. The same hardware platform was used for all testing with simply looking at how the Ubuntu Linux performance has evolved for this SiFive RISC-V platform going back to Ubuntu 21.04 from early 2021.

Ubuntu 24.04 SiFive RISC-V HiFive Unmatched Benchmarks

Following those comparison points, at the end of the article are the Ubuntu 24.04 LTS benchmarks on the HiFive Unmatched up against the Raspberry Pi 400 and Raspberry Pi 500 ARM systems for putting it into perspective how that mature RISC-V platform now compares. Again, in the next week or so will be our review and benchmarks of their new HiFive Premier P550 developer board.

SiFive HiFive Unmatched and HiFive Premier P550

Coremark benchmark with settings of CoreMark Size 666, Iterations Per Second. Ubuntu 24.04 LTS was the fastest.

The SiFive RISC-V performance on the HiFive Unmatched developer board has continued evolving with newer versions of Ubuntu Linux thanks to the updated kernel, GCC compiler, and other software featuring better RISC-V architecture support.

OpenSSL benchmark with settings of Algorithm: SHA256. Ubuntu 22.04 LTS was the fastest.

OpenSSL benchmark with settings of Algorithm: RSA4096. Ubuntu 24.04 LTS was the fastest.

OpenSSL benchmark with settings of Algorithm: RSA4096. Ubuntu 24.04 LTS was the fastest.

For some workloads the bulk of the software optimization uplift came from Ubuntu 22.04 LTS with little gain in some areas on Ubuntu 24.04.

Stress-NG benchmark with settings of Test: Atomic. Ubuntu 24.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: Crypto. Ubuntu 24.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: Malloc. Ubuntu 22.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: CPU Cache. Ubuntu 24.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: CPU Stress. Ubuntu 22.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: Semaphores. Ubuntu 24.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: Vector Math. Ubuntu 24.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: Context Switching. Ubuntu 22.04 LTS was the fastest.

Stress-NG benchmark with settings of Test: System V Message Passing. Ubuntu 24.04 LTS was the fastest.

There have been a number of RISC-V Linux kernel optimizations to land over the past four years.

Monkey Audio Encoding benchmark with settings of WAV To APE. Ubuntu 24.04 LTS was the fastest.

FLAC Audio Encoding benchmark with settings of WAV To FLAC. Ubuntu 24.04 LTS was the fastest.

WavPack Audio Encoding benchmark with settings of WAV To WavPack. Ubuntu 24.04 LTS was the fastest.

Smallpt benchmark with settings of Global Illumination Renderer; 128 Samples. Ubuntu 24.04 LTS was the fastest.

The newer GCC (and LLVM/Clang) compiler releases can also help in producing more efficient RISC-V binaries.

eSpeak-NG Speech Engine benchmark with settings of Text-To-Speech Synthesis. Ubuntu 24.04 LTS was the fastest.

SecureMark benchmark with settings of Benchmark: SecureMark-TLS. Ubuntu 24.04 LTS was the fastest.

Dolfyn benchmark with settings of Computational Fluid Dynamics. Ubuntu 24.04 LTS was the fastest.

WebP Image Encode benchmark with settings of Encode Settings: Default. Ubuntu 22.04 LTS was the fastest.

WebP Image Encode benchmark with settings of Encode Settings: Quality 100. Ubuntu 22.04 LTS was the fastest.

WebP Image Encode benchmark with settings of Encode Settings: Quality 100, Highest Compression. Ubuntu 22.04 LTS was the fastest.

In only a few areas was Ubuntu 24.04 LTS running slower than Ubuntu 22.04 LTS on this SiFive HiFive Unmatched RISC-V developer board.

LZ4 Compression benchmark with settings of Compression Level: 1, Compression Speed. Ubuntu 24.04 LTS was the fastest.

LZ4 Compression benchmark with settings of Compression Level: 1, Decompression Speed. Ubuntu 24.04 LTS was the fastest.

LZ4 Compression benchmark with settings of Compression Level: 3, Decompression Speed. Ubuntu 24.04 LTS was the fastest.

LZ4 Compression benchmark with settings of Compression Level: 9, Decompression Speed. Ubuntu 24.04 LTS was the fastest.

Zstd Compression benchmark with settings of Compression Level: 3, Compression Speed. Ubuntu 24.04 LTS was the fastest.

Zstd Compression benchmark with settings of Compression Level: 19, Compression Speed. Ubuntu 22.04 LTS was the fastest.

Zstd Compression benchmark with settings of Compression Level: 19, Decompression Speed. Ubuntu 22.04 LTS was the fastest.

GraphicsMagick benchmark with settings of Operation: Swirl. Ubuntu 22.04 LTS was the fastest.

7-Zip Compression benchmark with settings of Compress Speed Test. Ubuntu 22.04 LTS was the fastest.

PyBench benchmark with settings of Total For Average Test Times. Ubuntu 24.04 LTS was the fastest.

PHPBench benchmark with settings of PHP Benchmark Suite. Ubuntu 24.04 LTS was the fastest.

There tended to be some nice performance improvements across a variety of workloads with succeeding Ubuntu Linux releases on this SiFive RISC-V developer board.

Geometric Mean Of All Test Results benchmark with settings of Result Composite, Ubuntu 24.04 SiFive RISC-V HiFive Unmatched Benchmarks. Ubuntu 24.04 LTS was the fastest.

Going from Ubuntu 21.04 to 22.04 LTS was around 19% better performance while with Ubuntu 24.04 LTS it’s up to 23% faster than where the SiFive HiFive Unmatched RISC-V with Freedom U740 SoC started out four years ago. All the benchmarks conducted can be found here.

HiFive Unmatched vs. Raspberry Pi 500 vs. Raspberry Pi 400 Benchmarks

While the HiFive Unleashed is nearly a quarter faster with the newest Ubuntu Linux LTS release than where it started out when the RISC-V developer board was first shipping, software optimizations alone aren’t enough. The HiFive Unmatched with its aging RISC-V SoC still significantly trails ARM performance as measured with the Raspberry Pi 400 and Raspberry Pi 500 ARM keyboard computers… It will be interesting to see where the HiFive Premier P550 fits into the picture in the days ahead.

libavif avifenc benchmark with settings of Encoder Speed: 6. Raspberry Pi 500 was the fastest.

C-Blosc benchmark with settings of Test: blosclz shuffle, Buffer Size: 8MB. Raspberry Pi 500 was the fastest.

Timed FFmpeg Compilation benchmark with settings of Time To Compile. Raspberry Pi 500 was the fastest.

Timed PHP Compilation benchmark with settings of Time To Compile. Raspberry Pi 500 was the fastest.

BYTE Unix Benchmark benchmark with settings of Computational Test: Dhrystone 2. Raspberry Pi 500 was the fastest.

BYTE Unix Benchmark benchmark with settings of Computational Test: Whetstone Double. Raspberry Pi 500 was the fastest.

C-Ray benchmark with settings of Resolution: 1080p, Rays Per Pixel: 16. Raspberry Pi 500 was the fastest.

C-Ray benchmark with settings of Resolution: 4K, Rays Per Pixel: 16. Raspberry Pi 500 was the fastest.

CacheBench benchmark with settings of Test: Read. Raspberry Pi 500 was the fastest.

CacheBench benchmark with settings of Test: Write. Raspberry Pi 500 was the fastest.

Apache Cassandra benchmark with settings of Test: Writes. Raspberry Pi 500 was the fastest.

7-Zip Compression benchmark with settings of Test: Compression Rating. Raspberry Pi 500 was the fastest.

DaCapo Benchmark benchmark with settings of Java Test: Avrora AVR Simulation Framework. Raspberry Pi 500 was the fastest.

DaCapo Benchmark benchmark with settings of Java Test: Batik SVG Toolkit. Raspberry Pi 500 was the fastest.

DaCapo Benchmark benchmark with settings of Java Test: PMD Source Code Analyzer. Raspberry Pi 500 was the fastest.

Even on Ubuntu 24.04 LTS, the HiFive Unmatched aging RISC-V board is much slower than the ARM Cortex performance found with recent Raspberry Pi single board computers.

DaCapo Benchmark benchmark with settings of Java Test: Apache Lucene Search Index. Raspberry Pi 500 was the fastest.

DaCapo Benchmark benchmark with settings of Java Test: H2 Database Engine. Raspberry Pi 500 was the fastest.

Google Draco benchmark with settings of Model: Church Facade. Raspberry Pi 500 was the fastest.

Opus Codec Encoding benchmark with settings of WAV To Opus Encode. Raspberry Pi 500 was the fastest.

WavPack Audio Encoding benchmark with settings of WAV To WavPack. Raspberry Pi 500 was the fastest.

GraphicsMagick benchmark with settings of Operation: Noise-Gaussian. Raspberry Pi 500 was the fastest.

GraphicsMagick benchmark with settings of Operation: Resizing. Raspberry Pi 500 was the fastest.

GROMACS benchmark with settings of Implementation: MPI CPU, Input: water_GMX50_bare. Raspberry Pi 500 was the fastest.

Java SciMark benchmark with settings of Computational Test: Monte Carlo. Raspberry Pi 500 was the fastest.

PyPerformance benchmark with settings of Benchmark: async_tree_io. Raspberry Pi 500 was the fastest.

PyPerformance benchmark with settings of Benchmark: pathlib. Raspberry Pi 500 was the fastest.

Renaissance benchmark with settings of Test: Akka Unbalanced Cobwebbed Tree. Raspberry Pi 500 was the fastest.

Renaissance benchmark with settings of Test: Finagle HTTP Requests. Raspberry Pi 500 was the fastest.

WebP Image Encode benchmark with settings of Encode Settings: Quality 100, Lossless. Raspberry Pi 500 was the fastest.

Those wanting to see more of these fresh HiFive Unmatched vs. Raspberry Pi benchmarks can find them here.

Geometric Mean Of All Test Results benchmark with settings of Result Composite, HiFive Unmatched vs. Raspberry Pi 500 vs. Raspberry Pi 400 Benchmarks. Raspberry Pi 500 was the fastest.

It will be interesting to show where the HiFive Premier P550 fits into the equation on Ubuntu 24.04 LTS with the upcoming review and benchmarks, stay tuned.