Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cppJieba内部是否有内存释放逻辑? #175

Open
zhangxistudy11 opened this issue Dec 30, 2022 · 8 comments
Open

cppJieba内部是否有内存释放逻辑? #175

zhangxistudy11 opened this issue Dec 30, 2022 · 8 comments

Comments

@zhangxistudy11
Copy link

No description provided.

@cosmos-in-h2o
Copy link

我自己试了一下运行前内存占用7.3g,运行时最大占用7.8g然后我写了一个system("pause");执行到这条语句后仍未回到7.3g关闭程序回到7.3g

@byronhe
Copy link
Contributor

byronhe commented Feb 20, 2023

我用 darts 优化了一下 CppJieba 的内存占用,可以减少到原来的 1/100 :
https://byronhe.com/post/2019/11/25/cppjieba-darts-DAT-memory_optimize/

代码在:
https://github.com/byronhe/cppjieba

@Sarah-Callies
Copy link

我用 darts 优化了一下 CppJieba 的内存占用,可以减少到原来的 1/100 : https://byronhe.com/post/2019/11/25/cppjieba-darts-DAT-memory_optimize/

代码在: https://github.com/byronhe/cppjieba

您的代码我试了一下,无法make

[ 6%] Building CXX object deps/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 12%] Linking CXX static library libgtest.a
[ 12%] Built target gtest
[ 18%] Building CXX object test/CMakeFiles/demo.dir/demo.cpp.o
[ 25%] Linking CXX executable ../demo
CMakeFiles/demo.dir/demo.cpp.o:在函数‘cppjieba::CalcFileListMD5(std::string const&, unsigned long&)’中:
./cppjieba/include/cppjieba/DatTrie.hpp:368:对‘limonp::MD5::MD5()’未定义的引用
./cppjieba/include/cppjieba/DatTrie.hpp:416:对‘limonp::MD5::Update(unsigned char*, unsigned int)’未定义的引用
./cppjieba/include/cppjieba/DatTrie.hpp:425:对‘limonp::MD5::Final()’未定义的引用
collect2: error: ld returned 1 exit status
make[2]: *** [demo] 错误 1
make[1]: *** [test/CMakeFiles/demo.dir/all] 错误 2

@byronhe
Copy link
Contributor

byronhe commented May 31, 2023

用 test/make_demo.sh 来 make,deps/limonp/Md5.hpp 我拆到 deps/limonp/Md5.cpp 里面了。

@Sarah-Callies
Copy link

用 test/make_demo.sh 来 make,deps/limonp/Md5.hpp 我拆到 deps/limonp/Md5.cpp 里面了。

我集成后内存占用从原来的106M降到40M,为什么不是降到1%的1M呢?

@byronhe
Copy link
Contributor

byronhe commented Jun 6, 2023

用 test/make_demo.sh 来 make,deps/limonp/Md5.hpp 我拆到 deps/limonp/Md5.cpp 里面了。

我集成后内存占用从原来的106M降到40M,为什么不是降到1%的1M呢?

可以用 jemalloc 的 heap profiler 查一下内存都是哪些数据结构在占用

@Sarah-Callies
Copy link

用 test/make_demo.sh 来 make,deps/limonp/Md5.hpp 我拆到 deps/limonp/Md5.cpp 里面了。

我集成后内存占用从原来的106M降到40M,为什么不是降到1%的1M呢?

可以用 jemalloc 的 heap profiler 查一下内存都是哪些数据结构在占用

那请问您得出的结论1%是怎么得出来的啊?

@byronhe
Copy link
Contributor

byronhe commented Jun 6, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants