当我分配和释放内存后,然后分配的内存大小恰好等于之前释放的部分大小,那么第二次分配会比第一次更快吗?这可能是因为它已经知道了一个空闲的内存区域,还是因为堆的这个部分仍然被分配给进程?或者还有其他可能的优势吗?或者通常没有什么区别吗?
编辑:如评论中所询问:
编辑:如评论中所询问:
- 我特别关注gcc和MSVC。
- 我的假设是在操作系统中未“收回”该内存。
malloc
的实现,比如jemalloc
或tcmalloc
。 - ymonad