c++ - 强制可执行文件进入内存?

标签 c++

我有一个 cpp 可执行文件(它包含静态库),大小大约为 1MB。当我运行 exe 时,它​​消耗的内存不到 200kb。

据我了解,这意味着计算机在需要时从 HDD 中一点一点地读取 exe。

我想提高性能,哪怕是一点点,那么,我怎么能说“将exe加载到内存中”而不碰硬盘呢?这会带来任何性能提升吗?

最佳答案

操作系统会根据需要将部分可执行文件加载到内存中。这是了解更多关于指令缓存的信息可能有用的地方。这个想法是你构建你的程序,以便将公共(public)代码组合在一起。例如,您可能有一些内联函数——在这种情况下,操作系统必须在多个地方加载相同的代码,这可能会很慢。通过删除内联,您可以将代码放在内存中的一个 block 中,该 block 将被缓存,从而减少加载时间。

我同意其他人的意见,尽管这种类型的优化应该真正保留,直到您分析并确定这是瓶颈之后,这是不太可能的

关于c++ - 强制可执行文件进入内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22200038/

相关文章:

c++ - 具有构造函数参数的单例

c++ - Priority queue在push操作过程中是如何比较和存储值的?

c++ - 允许每个时间步将多种类型转换为文本

c++ - 未记录的链接器问题 : "ld returned 253 exit status"

C++ 模板元编程 : Different Behavior using Types Aliases vs Inheritance

c++ - 没有 <> 的模板特化

c++ - vector push_back : doesn't convert parameter

c++ - 为什么c++中允许int a[0]?

c++ - Unresolved external 模板

c++ - 在类中使用自定义 new() 运算符时,谁为 shared_ptr 的控制 block 分配内存