测试方式如下:
20个线程同时进行malloc和free的操作,每个线程进行malloc和free的操作1M次,每次申请的大小是操作次数的大小(比如第10次操作,就malloc(10))。
测试每个线程操作1M次malloc和free的时间。
glibc malloc的结果如下:
time use 20118516 second
time use 20159695 second
time use 20209392 second
time use 20243706 second
time use 20314329 second
time use 20409412 second
time use 20497020 second
time use 20485955 second
time use 20536799 second
time use 20530233 second
time use 20615596 second
time use 20697397 second
time use 20783369 second
time use 20798414 second
time use 20832314 second
time use 20844732 second
time use 20847341 second
time use 20877054 second
time use 20919291 second
time use 20924166 second
tcmalloc的结果如下:
time use 6547655 second
time use 6586277 second
time use 6595014 second
time use 6602379 second
time use 6603297 second
time use 6617556 second
time use 6606473 second
time use 6594718 seco

本文通过20个线程并发执行1M次malloc和free操作,对比了glibc malloc与tcmalloc的性能。每次malloc的大小与操作次数对应,结果显示tcmalloc在并发场景下表现出更好的效率。
最低0.47元/天 解锁文章
1553

被折叠的 条评论
为什么被折叠?



