更新
他们没有!至少,不适合我。
看我的回答。
原始问题
根据去年的 Phoronix 基准测试,FreeBSD 上的应用程序运行速度大多比 Debian 上慢(包括 Stockfish 国际象棋引擎、Node.js、FLAC 编码和其他计算任务)。
Phoronix 文章本身将一些性能差异归因于使用 Clang 而不是 GCC 编译器。其他一些观点认为使用 ZFS 会使 FreeBSD 变慢,因为 ZFS 本质上比 ext4 慢。
但是,即使是使用 GCC8 编译的 FreeBSD 上的纯计算任务,其执行速度也比 Linux 上要慢。
这是什么原因?它是 FreeBSD 和 Linux 内核之间固有的差异,可能是由于驱动程序质量较差还是有其他原因?
PS为了更具体一点,这里有一个相当简单的纯计算程序,根据 Phoronix,它在 FreeBSD 上比在 Linux 上运行得慢:m-queens 1.2。编译如下:
gcc -o m-queens.bin main.c -O2 -march=native -mtune=native -std=c99 -fopenmp
由于这是在两个 20 核 CPU 上运行的多线程任务,我怀疑性能差异归结为操作系统处理多线程的能力。
PPS为了更清楚地说明,我知道 FreeBSD 具有良好的网络功能并且它被Netflix 使用。这个问题专门针对计算任务,例如上面的问题。
PPPS在我的 6 核桌面和 Ubuntu 一起安装 FreeBSD (TrueOS) 并尝试自己运行皇后基准测试后,我没有注意到多线程性能有任何显着差异。虽然 Phoronix 声称它在 FreeBSD 上的运行速度慢了 39%,但在我的测试中它只慢了 3.7%,这可能是由于编译器版本的细微差别(TrueOS 上的 gcc 7.4,Ubuntu 上的 gcc 7.2)。我稍后会测试更多。