平均而言,以下哪个通话速度更快?我听说过mmap
对于较小的分配速度更快,但是我还没有听到两者的比较。关于这些性能的任何信息都很好。
最佳答案
您应该使用特定的实现方式(例如linux
)对其进行标记,因为答案肯定会因实现方式而异。现在,我将假设Linux是最流行的Linux。
话虽如此,brk
在理论上更加可优化,实际上,它在我的机器上的运行速度提高了约10%。分配一页,这些是我得到的时间:
brk
:至少2550个周期,典型的2650个周期mmap
:最少2700个周期,典型的2800个周期我记得听到过类似
brk
的消息,可以跳过锁定mmap
信号量的过程,这可以解释这一差异。注意:我在调整测试以在计时之前进行虚拟调用之后更新了这些时间,以确保所有代码都在缓存中。