×

Tcmalloc公司

swMATH ID: 17484
软件作者: S.Ghemawat、P.Menage
说明: Tcmalloc:螺纹切削Malloc。TCMalloc比glibc2.3malloc(作为一个名为ptmalloc2的单独库提供)和我测试过的其他malloc更快。ptmalloc2在2.8GHz P4(用于小对象)上执行malloc/free对大约需要300纳秒。对于同一操作对,TCMalloc实现大约需要50纳秒。速度对于malloc实现来说很重要,因为如果malloc不够快,应用程序编写者倾向于在malloc之上编写自己的自定义自由列表。除非应用程序编写器非常小心地适当调整空闲列表的大小并从空闲列表中清除空闲对象,否则这可能会导致额外的复杂性和更多的内存使用。TCMalloc还减少了多线程程序的锁争用。对于小型对象,几乎没有争用。对于大型对象,TCMalloc尝试使用细粒度和高效的自旋锁。ptmalloc2还通过使用每线程竞技场来减少锁争用,但ptmalloc2使用每线程竞技场存在很大问题。在ptmalloc2中,内存永远无法从一个领域移动到另一个领域。这会导致大量的空间浪费。例如,在一个谷歌应用程序中,第一阶段将为其数据结构分配大约300MB的内存。当第一阶段完成时,第二阶段将在相同的地址空间中启动。如果第二个阶段被分配给与第一个阶段使用的舞台不同的舞台,那么这个阶段将不会重用第一个阶段之后剩下的任何内存,并将向地址空间添加另一个300MB。在其他应用程序中也注意到了类似的内存溢出问题。TCMalloc的另一个优点是小物体的空间效率表示。例如,可以分配N个8字节对象,同时使用大约8N*1.01字节的空间。也就是说,1%的空间开销。ptmalloc2为每个对象使用一个四字节的报头,并且(我认为)将大小四舍五入为8字节的倍数,最后使用16N字节。
主页: http://goog-perftools.sourceforge.net/doc/tcmalloc.html
相关软件: SoPlex公司;PHC包;DEMiC公司;机锋网;混合音量;通用管理程序;PPL(公私合营);动态优先权;github;SFCGAL公司;网格交点;图书馆;地铁;Gms小时;CGAL公司;刻痕;OmpSs公司;UHM(超高清);DAGuE公司;STRUMPACK系列
引用于: 2文件

在1个字段中引用

2 数值分析(65-XX)

按年份列出的引文