libco icon indicating copy to clipboard operation
libco copied to clipboard

引入内存池提高内存分配的效率

Open Super-long opened this issue 5 years ago • 1 comments

这其实是很现实一点,举个最明显的例子,当使用多个共享栈的时候 ,co_routinue.cpp的save_stack_buffer中会多次对save_buffer进行拷贝,而这会调用大量的malloc/free。这里显然我们可以引入一个内存池(不是对象池),在我仿照libco实现的协程库中我引入了gperftools中的tcmalloc,在协程的创建和5000个以上的协程的频繁切换时均优于libco。当然直接使用tcmalloc会引入一个较重的框架,所以此时实现一个内存池就是一个较为正确的选择。

Super-long avatar Nov 16 '20 14:11 Super-long

👍

adlternative avatar Mar 08 '21 07:03 adlternative