RISC-V Is Sloooow

Published: (March 10, 2026 at 04:11 PM EDT)
3 min read

Source: Hacker News

Triaging

I went through the Fedora RISC‑V tracker entries, triaged most of them (currently 17 entries remain in NEW) and tried to handle whatever was possible.

Fedora packaging

My usual workflow involves fetching the sources of a Fedora package (fedpkg clone -a) and then building it with:

fedpkg mockbuild -r fedora-43-riscv64

After the build finishes, I check whether it succeeded; if not, I review the build logs to determine the cause.

So far, I have sent 86 pull requests for Fedora packages (link). These range from heavy packages like llvm15 to simple ones such as iyfct (a small game). Most of them have been merged and built for Fedora 43, and we continue to build them as we follow the f43-updates tag on the Fedora Koji.

Slowness

Package building highlights a major challenge: speed, or rather the lack of it. Current RISC‑V hardware is slow, leading to terrible build times. For example, the build times for the binutils-2.45.1-4.fc43 package on various architectures are:

ArchitectureCoresMemoryBuild time
aarch641246 GB36 min
i686829 GB25 min
ppc64le1037 GB46 min
riscv64816 GB143 min
s390x345 GB37 min
x86_64829 GB29 min

The current RISC‑V Fedora port builds with LTO disabled to reduce memory usage and build times. RISC‑V builders typically have 4 or 8 cores with 8, 16, or 32 GB of RAM (depending on the board), often comparable to low‑end Arm Cortex‑A55 cores.

Future hardware such as the UltraRISC UR‑DP1000 SoC on the Milk‑V Titan motherboard (up to 64 GB RAM) or SpacemiT K3‑based systems (up to 32 GB RAM) will improve the situation, but they are not a complete solution. To bring the binutils build time below one hour, we need more powerful, rack‑mountable servers with LTO enabled system‑wide.

I still use QEMU

Because of the long native build times, I rely on QEMU for faster builds. With 80 emulated cores, I can compile the llvm15 package in about 4 hours, compared to 10.5 hours on a Banana Pi BPI‑F3 builder (potentially faster on a P550).

btop shows 80 cores being busy

LLVM packages make real use of both available cores and memory, and I am curious how they would perform on a system with 192 or 384 cores, such as an Ampere One‑based server.

Future plans

We plan to start building Fedora 44. If all goes well, we will use a single kernel image across all builders (currently they run a mix of kernel versions). LTO will remain disabled for now.

To address the speed issue, we have plans to acquire newer, faster builders and to assign heavier packages to them.

0 views
Back to Blog

Related posts

Read more »