目前这一代的 RISC-V SoC 仍然远比其他 CPU 架构慢,导致 Fedora 软件包的构建时间显著延长。下一代 RISC-V 处理器有望实现更快的速度,但就目前而言,即使以编译 Binutils 为例,其速度也只有x86_64 架构的1/5——而且这还是在 RISC-V 上禁用了编译器的链接时优化(LTO)以避免构建过程更加漫长的前提下实现的。
Red Hat 的Marcin Juszkiewicz长期以来专门研究ARM64 Linux,他一直在为Fedora Linux开发RISC-V软件包。他今天关于这个主题的最新博客文章的标题是“RISC-V 很慢 ”。

以 GNU Binutils 的构建时间为示例,RISC-V 架构在 Linux 下的软件包构建时间导致了“极其糟糕的构建体验”。在 x86_64 架构上使用八个核心并包含 LTO 优化的情况下编译 Binutils 大约需要 29 分钟,而在 RISC-V 架构上构建 Binutils(即使不启用 LTO)也需要约 143 分钟——这还是在没有使用 LTO 优化的前提下。相比之下,其他架构中构建 Binutils 最慢的是 POWER PPC64LE,耗时 46 分钟;AArch64 架构为 36 分钟;而 i686 架构最快,仅需 25 分钟。
Juszkiewicz在他的博客中评论道:
“Milk-V Titan主板上的 UltraRISC UR-DP1000 SoC应该会稍微改善一下情况(可以有 64GB内存)。类似于基于SpacemiT K3的系统(但只有32GB内存)。这两者都会有所改进,但不是最终解决方案。
我们需要能够构建在“binutils”软件包之上的一小时硬件。在LTO启用的系统中,等等。它需要像其他无聊的服务器一样可伸缩和可管理。如果没有它,我们甚至无法将RISC-V 64位架构列为Fedora Linux的官方主架构之一。”
由于当前的RISC-V Socs很慢,因此QEMU被用来帮助弥补硬件的缓慢。使用80个模拟的RISC-V核心可以在QEMU下编译LLVM,大约需要4小时,而使用Banana Pi BPI-F3构建器时需要超过10小时。
Marcin的博客文章以以下内容结束:
“我们计划开始构建 Fedora Linux 44。如果一切顺利,我们将使用相同的内核映像在所有构建器上运行(当前的内核映像混合使用了多个内核版本)。LTO 将会继续被禁用。
说到速度问题…计划引进更快的建造者。而且可能还会把一些较重的包交给他们。”
转自 Current RISC-V CPUs Being Too Slow Causes Headaches For Fedora: ~5x Slower Builds – Phoronix
Linuxeden开源社区