Ubuntu 和 Fedora 等几个 GNU/Linux 发行版之间有什么区别?在提出一个经常被问到的问题之前,我要先谈谈与操作系统内部工作相关的差异,而不是视觉效果、桌面环境、包管理器、易用性和其他与用户界面相关的功能。
更具体地说,假设我纯粹对我编写的某个 C++ 程序(串行或并行)的性能感兴趣。假设我在同一台台式机上安装了 Ubuntu 和 Fedora,两者都具有相同的 Linux 内核版本,那么这两个操作系统上的程序性能会相同吗?
一个相关的问题是,为什么一些类 Unix 操作系统,如 FreeBSD(不是 GNU/Linux 发行版)比其他操作系统更受服务器平台的青睐。
答案1
除软件包系统和 GUI 之外,内部差异如下:很少,而且所有这些都与您的问题不太相关。
对于您的 C++ 程序来说,唯一相关的东西是内核的版本和/或您的程序所链接的库的版本,这在某种程度上取决于您选择的发行版,但您始终可以通过下载和编译源代码来替换它们(如果预构建的软件包不可用)。
假设你使用同一台机器,那么性能差异将是即使使用不同的库,几乎无法检测到,不包括统计噪音(例如,如果发行版是基于 GUI 的,那么一些与 GUI 相关的工作可能会随机与您的 C++ 程序交错,导致它偶尔执行糟糕的基准测试 - 是的,即使在多核机器上也是如此)。如果您的目标是性能和可预测性(执行时间的低方差),那么请避免使用基于 GUI 的发行版并停止任何可能偶尔执行一些与您的程序交错的工作的服务(例如网络)。