测试方式如下:
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 sec