從原始碼編譯應用程序是否會提高速度和/或 RAM?
我已經使用 Linux 幾個月了,我目前正在舊桌面上執行 Arch。我聽說過從原始碼編譯所有內容的好消息,例如,Gentoo 和其他類似發行版的速度非常快。我從未使用過它,而且我不打算很快使用它。但是,我可能想加快我的日常應用程序。我也想知道我應該使用 GCC 還是英特爾的 C 編譯器。我通常最多使用 2 GB 的 RAM,但我的處理器又舊又慢。我應該從原始碼編譯所有應用程序還是繼續使用二進製文件?
謝謝!
答案是肯定的。明顯嗎?幾乎從不。
根據您要執行它的硬體,“可能”會提高速度,因為您可以使用 CPU 提供的任何優化。但請注意,大多數時候應用程序只是使用庫,因此為了利用它,您應該使用完整的 Gentoo,例如。
值得付出努力嗎?可能不會,除非你在相當舊的硬體上執行,或者你正在做一些嚴重的數字運算或每秒執行這麼多次的東西,每條指令都很重要。
目前的硬體大部分時間基本上都是空閒的,這是一個事實,允許諸如 SETI@home、Folding@home、Great Mersenne Prime Search 之類的東西。
在較舊的硬體中,配置可能比重新編譯更有幫助(這會帶來一系列問題,例如可維護性、安全修復和依賴性跟踪)。
For example, configuring Firefox to use just one or two parallel content processes helps a lot in low memory systems. If CPU is your problem, you might want to either disable or manually run certain services or background tasks. Tumblerd can easilly kill an old computer, and so does updatedb.
Always on the configuration side, you could recompile to disable unneeded libraries/services or adjust other fields. For example building libreoffice with –disable-pdfimport. In that general case, you’d still be better off downloading the source packages used in your system (not upstream) and tweaking those. Not a lot to gain, but lots to learn.
Also note that the speed of an application may in cases be limited by disk or network I/O speed. In these cases, compiling the software from source can not be expected to improve performance.