0

是否有可能在同一库中的所有例程的代码中获得更好的性能。

或者,换个说法,当代码的某些部分被移到另一个库中时,代码的性能是否会下降?

4

1 回答 1

2

问题,您的程序会只运行一次还是会经常运行?

如果是前者,并且我们假设共享库不在内存中,那么是的,静态二进制文件的性能也会略有提高,这也只是几毫秒。

最有可能的是,如果您正在链接 libc 或 msvcrt(在 Windows 上),它们已经在内存中,并且除了拥有一个巨大的二进制文件之外,您并没有节省太多。

让我们考虑后一种情况......我认为性能改进不值得静态构建并拥有巨大的二进制文件。如果您的应用程序使用公共共享库(或 DLL),那么所有这些库都已经加载到内存中。

希望有帮助。

有关其他响应,请参见此处静态与动态库性能

于 2012-04-29T18:18:26.343 回答