aixunsoft 发表于 2025-1-14 22:22:26

高性能内存分配库mimalloc

本帖最后由 aixunsoft 于 2025-1-15 15:17 编辑


我电脑测试引用mimalloc之后,上图这个操作能提升三倍的速度。
需要编译发布版才能提升速度。
对于大部分程序来说没什么作用,只有需要大量内存操作的程序会有用,比如需要高并发的服务端程序,如果只需要替换malloc,引用库就可以了,不需要多余的操作。
本库支持x86 x64 动态 静态 编译





先生 发表于 2025-1-14 23:09:38

很强,非常实用功能

创世魂 发表于 2025-1-15 09:21:52

火山好像有这个库了吧。

aixunsoft 发表于 2025-1-15 14:04:21

创世魂 发表于 2025-1-15 09:21
火山好像有这个库了吧。

看了一下有,库名字没带mimalloc没注意,而且没引用mimalloc-override.h,只封装了几个内存操作的函数

fengshangren 发表于 2025-1-15 18:28:52

引用了mimalloc-override.h之后,他会把malloc和new等分配函数重定向到Mi库的分配函数,但是windows API 的分配函数函数好像不会处理

aixunsoft 发表于 2025-1-15 20:03:09

fengshangren 发表于 2025-1-15 18:28
引用了mimalloc-override.h之后,他会把malloc和new等分配函数重定向到Mi库的分配函数,但是windows API 的 ...

new不会,new另外一个头文件,重写new容易符号冲突,只会把项目源码用到的malloc函数替换掉,适合无痛老项目改造

fengshangren 发表于 2025-1-15 21:25:25

aixunsoft 发表于 2025-1-15 20:03
new不会,new另外一个头文件,重写new容易符号冲突,只会把项目源码用到的malloc函数替换掉,适合无痛老 ...

我听Xelloss大佬说,覆盖容易出现一些问题,还得自己写MI命令好些

aixunsoft 发表于 2025-1-15 22:42:43

fengshangren 发表于 2025-1-15 21:25
我听Xelloss大佬说,覆盖容易出现一些问题,还得自己写MI命令好些

覆盖malloc没问题,就几个简单的函数,覆盖new不行,容易符号冲突编译不了,就算解决了符号冲突,感觉也没自带的稳定,我用mi_new创建的指针在某些情况下崩了
页: [1]
查看完整版本: 高性能内存分配库mimalloc