【发布时间】:2011-07-27 22:02:53
【问题描述】:
平均而言,这些调用中哪个更快?我听说mmap 对于较小的分配更快,但我还没有听说过两者的比较。任何有关这些性能的信息都会很好。
【问题讨论】:
-
你知道他们做着相似但不同的事情吗?
-
是的,我愿意。我只是想知道在可接受的情况下替换另一个是否会导致性能差异。
-
您的里程可能会有所不同。最好根据您关心的确切环境进行衡量。
-
注意:如果您调用 sbrk,您将面临破坏大多数 malloc 实现的风险。这有后果。例如,常见的 C 库调用 [如 strdup()] 可能会受到影响,因为它们使用了 malloc()。
-
确实,您绝对不能在可能调用
malloc的程序中使用sbrk(或更糟糕的是brk)。而且由于任何标准库函数都可以调用malloc,这意味着您不能使用标准库,句号。
标签: c linux memory-management mmap sbrk