如果我可以从类似发行版的 repo 中获取它,那么从源代码构建的任何优势

sam*_*old 2 package-management centos amazon-web-services

我正在使用 Amazon Linux AMI,它似乎是某些 RHEL 或 CentOS 的分支。我读过它应该与 RHEL 二进制兼容。我的问题是:与使用 RHEL 或 CentOS 存储库(因为它们也应该可以工作)相比,从源代码编译软件包有什么优势吗?

rnx*_*xrx 6

理论上,编译您自己的源代码可以利用利用您的硬件的特定编译器优化。在实践中,对于大多数应用程序来说,它并没有产生明显的差异 - 特别是与与依赖项、更新、测试等相关的问题相比时。这一优势还预设了一个编译器可以针对相关功能进行优化,这绝不是一个给。

唐纳德·克努斯( Donald Knuth)有一句名言:

“程序员浪费了大量时间来考虑或担心他们程序中非关键部分的速度,而这些对效率的尝试实际上在考虑调试和维护时会产生强烈的负面影响。我们应该忘记小效率,比如说97% 的情况下:过早的优化是万恶之源。但我们不应该错过关键的 3% 的机会。”

此时,出于性能目的滚动您自己的二进制文件肯定属于这一类。有时可能需要(例如)发行版中没有的特定功能,但这些情况应该很少见。