是否有可能在同一库中的所有例程的代码中获得更好的性能。
或者,换个说法,当代码的某些部分被移到另一个库中时,代码的性能是否会下降?
问题,您的程序会只运行一次还是会经常运行?
如果是前者,并且我们假设共享库不在内存中,那么是的,静态二进制文件的性能也会略有提高,这也只是几毫秒。
最有可能的是,如果您正在链接 libc 或 msvcrt(在 Windows 上),它们已经在内存中,并且除了拥有一个巨大的二进制文件之外,您并没有节省太多。
让我们考虑后一种情况......我认为性能改进不值得静态构建并拥有巨大的二进制文件。如果您的应用程序使用公共共享库(或 DLL),那么所有这些库都已经加载到内存中。
希望有帮助。
有关其他响应,请参见此处静态与动态库性能。