这些调用中哪个平均速度更快?我听说过mmap
对于较小的分配来说速度更快,但我还没有听说过两者的比较。任何有关这些性能的信息都会很好。
您应该使用特定的实现来标记它(例如linux
)因为答案肯定会因实现而异。现在我假设Linux,因为它是最流行的。
照这样说,brk
理论上更容易优化,实际上它在我的机器上运行速度快了 10% 左右。分配一页,这些是我得到的时间:
-
brk
:最少 2550 个周期,典型 2650 个周期
-
mmap
:最少 2700 个周期,典型 2800 个周期
我记得听到过类似的话brk
能够跳过锁定mmap
信号量,这可以解释这种差异。
Note:在调整测试以在计时之前进行虚拟调用后,我更新了这些时间,以确保代码全部位于缓存中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)