平均而言,以下哪个通话速度更快?我听说过mmap对于较小的分配速度更快,但是我还没有听到两者的比较。关于这些性能的任何信息都很好。

最佳答案

您应该使用特定的实现方式(例如linux)对其进行标记,因为答案肯定会因实现方式而异。现在,我将假设Linux是最流行的Linux。

话虽如此,brk在理论上更加可优化,实际上,它在我的机器上的运行速度提高了约10%。分配一页,这些是我得到的时间:

  • brk:至少2550个周期,典型的2650个周期
  • mmap:最少2700个周期,典型的2800个周期

  • 我记得听到过类似brk的消息,可以跳过锁定mmap信号量的过程,这可以解释这一差异。

    注意:我在调整测试以在计时之前进行虚拟调用之后更新了这些时间,以确保所有代码都在缓存中。

    10-08 07:35
    查看更多