
1 kingddc314 2016-04-20 13:07:00 +08:00 via Android 可以参考 jemalloc 之类 |
2 aaaron7 2016-04-20 13:22:36 +08:00 用 pool 啊,常规思想 |
3 eliteYang 2016-04-20 13:29:37 +08:00 可以使用 jemalloc 或者 tcmalloc 来处理,例如定时回收啊,托管内存管理,内存池,我们用了定时回收,不过在 win7 上表现不明显,现在 windows 的内存管理越做越好了, linux 上比较明显。可以参考我们服务器框架中的使用, https://github.com/ketoo/NoahGameFrame |
4 xylophone21 2016-04-20 13:54:48 +08:00 从内存碎片这个角度来讲,作为一个通用的 malloc 自己实现能做的 malloc 都能做, malloc 能做到自己实现却不能做,维度不同啊。 |
5 fy 2016-04-20 14:19:53 +08:00 直接用现成的分配器库即可 |
6 yuriko 2016-04-20 18:48:31 +08:00 我记得这是我以前 CSAPP 的课后作业 |
7 owt5008137 2016-04-20 22:32:48 +08:00 via Android 想要通用,看看 jemalloc 和 tcmalloc 的设计。然后参考它搞个适用你们项目的出来。 https://www.owent.net/QoH5w + 源码 其实现在的 ptmalloc 性能也挺不错的,前提是开编译优化以后 想要更高性能,自己做象池。可以参考这个 https://github.com/owent-utils/c-cpp/blob/master/include/DataStructure/StaticIdxList.h 这是设计于用在共享内存里的,如果不需要支持共享内存可以参考这个 https://github.com/owent-utils/c-cpp/blob/master/include/DataStructure/DynamicIdxList.h |