byronhe
byronhe
我用 darts 优化了一下 CppJieba 的内存占用,可以减少到原来的 1/100 : https://byronhe.com/post/2019/11/25/cppjieba-darts-DAT-memory_optimize/ 代码在: https://github.com/byronhe/cppjieba 有一些不兼容的改动,估计没法直接提 pull request 合并过来,不兼容改动: + 由于 Double Array Trie 无法支持动态插入词,删除 InsertUserWord() 方法 + 为了节省内存,改成允许传入空的 idfPath 和 stopWordPath 。 + 会生成...
https://github.com/yanyiwu/cppjieba/commit/f55b591968ee9d440efccfbfbeb61c516385f607 已经 fix 了
``` int seq=0; function generateID(){ return skip32(++seq,“password”); } ``` 这样如何?
> 都是标准 C++ ,应该可以跨平台。 请问具体是什么问题呢?怎么复现?
> 保存成一个文件,然后 mmap (MAP_SHARED) 映射到进程地址空间,多进程共享一份内存。
> Hi @byronhe https://github.com/byronhe/cppjieba 此仓库能帮忙优化成全平台通用的吗,我看编译只能linux下可用,win32无法编译,我尝试更改成win32,但遇到了诸多问题。 抽空搞成 win32 兼容了,可以试一下。我在 windows 下用 clang++ 编译没问题,不过 MSVC 编译器还没测试。
https://github.com/yanyiwu/gojieba/blob/master/jieba.cpp 这个 cpp 文件可以编译成 DLL
我用 darts 优化了一下 CppJieba 的内存占用,可以减少到原来的 1/100 : https://byronhe.com/post/2019/11/25/cppjieba-darts-DAT-memory_optimize/ 代码在: https://github.com/byronhe/cppjieba
用 test/make_demo.sh 来 make,deps/limonp/Md5.hpp 我拆到 deps/limonp/Md5.cpp 里面了。
> > 用 test/make_demo.sh 来 make,deps/limonp/Md5.hpp 我拆到 deps/limonp/Md5.cpp 里面了。 > > 我集成后内存占用从原来的106M降到40M,为什么不是降到1%的1M呢? 可以用 jemalloc 的 heap profiler 查一下内存都是哪些数据结构在占用