我有一个 cpp 可执行文件(它包含静态库),大小大约为 1MB。当我运行 exe 时,它消耗的内存不到 200kb。
据我了解,这意味着计算机在需要时从 HDD 中一点一点地读取 exe。
我想提高性能,哪怕是一点点,那么,我怎么能说“将exe加载到内存中”而不碰硬盘呢?这会带来任何性能提升吗?
最佳答案
操作系统会根据需要将部分可执行文件加载到内存中。这是了解更多关于指令缓存的信息可能有用的地方。这个想法是你构建你的程序,以便将公共(public)代码组合在一起。例如,您可能有一些内联函数——在这种情况下,操作系统必须在多个地方加载相同的代码,这可能会很慢。通过删除内联,您可以将代码放在内存中的一个 block 中,该 block 将被缓存,从而减少加载时间。
我同意其他人的意见,尽管这种类型的优化应该真正保留,直到您分析并确定这是瓶颈之后,这是不太可能的
关于c++ - 强制可执行文件进入内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22200038/