【发布时间】:2010-09-04 15:46:18
【问题描述】:
for/while/do 中的大量 c/malloc() 会消耗大量时间,所以我很好奇是否有任何操作系统为快速 malloc 缓冲内存。
我一直在思考是否可以通过为 malloc 编写“贪婪”包装器来加速 malloc。例如。当我要求 1MB 的内存时,初始分配器将分配 10MB,然后在第 2、3、4 等...调用 malloc 函数将简单地从首先以“正常”方式分配的块返回内存。当然,如果没有足够的可用内存,您将需要分配一个新的贪婪内存块。
不知何故,我认为以前一定有人做过这个或类似的事情。所以我的问题很简单:这是否会显着加快内存分配过程。 (是的,我可以在提问之前尝试过,但如果没有必要,我只是懒得写这样的东西)
【问题讨论】:
-
澄清一下,
malloc是 C 运行时库的一部分,而不是操作系统。malloc以及操作系统内存服务通常会进行缓存和缓冲以加快分配速度。
标签: c memory malloc allocation calloc