In this article, we’ll be benchmarking some of the available RISC‑V single-board computers (SBCs) using UnixBench. We'll be diving into both single-core and multi-core CPU performance to see how these boards handle real-world compute workloads.
We’ll also walk through the complete setup process for running UnixBench on RISC‑V hardware — so you can easily replicate the benchmarks on your own system.
1. System & Environment Details
All system, hardware and environment specifications used in this benchmark — including vendor, board name, OS, compiler version, SoC, CPU, cores, RAM, and RISC‑V extensions — are listed in the table below.
2. Setup and Installation
Clone the UnixBench repository from github/byte-unixbench and read the USAGE for more details.
Setting up UnixBench is really easy, just clone the repository and that's it there is no such dependencies/prerequisite.
mkdir -p ~/projects && cd ~/projects && git clone https://github.com/kdlucas/byte-unixbench.git
3. Running CPU benchmark
BYTE UnixBench—often just called UnixBench—is a classic benchmarking suite for Unix-like systems, updated over the years from the original Byte Magazine benchmark. It runs a variety of tests (like Dhrystone, Whetstone, file copy, pipe throughput, process creation, system call overhead, and more) to generate an overall index score reflecting system performance.
Use these commands to run it for Single/Multicore:
cd ~/projects/byte-unixbench/UnixBench && ./Run 2>&1 | tee unixbench.log
Note: If you want to run each test for n iterations, append "-i <n>" flag in above command and use "-c <n>" for running n-parallel copies of a test
In this exercise we'll go with default parameters which is `-i 10` and `-c 1`. Once complete the results can be found in `~/projects/byte-unixbench/UnixBench/results` directory.
# This is the expected log generated from unixbench (Some parts are skipped)
# The first index values are for single core and second one for multi-core.
cat unixbench.log
...
========================================================================
BYTE UNIX Benchmarks (Version 6.0.0)
System: pioneer-1: GNU/Linux
OS: GNU/Linux -- 6.6.66-pioneer -- #2024.12.27.05.50+c30fe9b9c SMP Fri Dec 27 06:19:30 UTC 2024
Machine: riscv64 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
22:42:22 up 37 days, 3:03, 8 users, load average: 0.51, 0.20, 1.22; runlevel
------------------------------------------------------------------------
Benchmark Run: منگل اگست 05 2025 22:42:22 - 23:10:38
64 CPUs in system; running 1 parallel copy of tests
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 13820931.1 1184.3
Double-Precision Whetstone 55.0 2877.9 523.3
Execl Throughput 43.0 610.2 141.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 212659.4 537.0
File Copy 256 bufsize 500 maxblocks 1655.0 58742.2 354.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 606526.4 1045.7
Pipe Throughput 12440.0 382776.4 307.7
Pipe-based Context Switching 4000.0 16846.2 42.1
Process Creation 126.0 1073.8 85.2
Shell Scripts (1 concurrent) 42.4 2020.4 476.5
Shell Scripts (8 concurrent) 6.0 1603.7 2672.9
System Call Overhead 15000.0 483551.0 322.4
========
System Benchmarks Index Score 375.9
...
...
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 879802932.4 75390.1
Double-Precision Whetstone 55.0 183576.0 33377.5
Execl Throughput 43.0 17328.9 4030.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 10588204.9 26737.9
File Copy 256 bufsize 500 maxblocks 1655.0 3466844.1 20947.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 11397318.9 19650.5
Pipe Throughput 12440.0 22905735.1 18413.0
Pipe-based Context Switching 4000.0 1014046.2 2535.1
Process Creation 126.0 9668.5 767.3
Shell Scripts (1 concurrent) 42.4 47477.2 11197.5
Shell Scripts (8 concurrent) 6.0 5805.0 9675.1
System Call Overhead 15000.0 30262330.2 20174.9
========
System Benchmarks Index Score 11979.8
5. Benchmark Results & Performance Comparison
I've used the above process to run the benchmark on all the RISCV SBCs mentioned in start of this blog. Here are the final scores for single/multi core.
5.1 Single Core
Single core results for UnixBench are attached in below.
Multi Core
Multi core results for UnixBench are attached in below.
6. Overall Results and Conclusion
The Milk-V Pioneer Box stands out among your tested RISC-V single-board computers—not just marginally, but by an order of magnitude in multi-core performance. Its superior architecture, memory bandwidth, and workstation-grade I/O make it uniquely capable of scaling across many cores effectively. If your workloads can harness parallelism, it’s the clear winner.