我听很多人说从源代码构建/编译可以优化性能,因为编译器能够根据系统微调性能。
另一方面,安装软件包也受软件包管理器(如)的支持apt-get
,它们还会在下载源文件并进行编译时显示消息。
那么从背景上看,二者到底有何区别?
答案1
主要区别在于:
当您获取源代码并在您的系统上编译它时,您可以使结果更适合您的系统,在编译过程中使用标志使其了解您的 CPU、GPU、现有库等。
下载的二进制文件已经编译为可以在大多数环境中运行,因此它并未针对特定环境进行优化。
答案2
从源代码编译时,您可以从 Github repo 或网站下载源代码,解压它,运行 ./configure、make、make install。我将解释这些命令:
./configure
检查依赖项,看看是否安装了某些库等等,并将某些行添加到构建配置中。
make
实际上是使用“./configure”提供的配置从源代码生成二进制文件。
最后make install
将二进制文件安装到您的电脑。
当您使用apt-get
安装应用程序时,它会下载已编译的二进制文件,并将其安装到您的电脑上。
您可以apt-get
下载源代码并用它做任何您想做的事情。