
性能优化
行走在路上的蜗牛
空杯心态,学无止境
展开
-
线上内存泄漏的方法分析valgrind/jemalloc
方法1:通过valgrind -v --tool=memcheck --trace-children=yes --time-stamp=yes --track-fds=yes --log-file=./valgrind.log --demangle=yes --num-callers=24 --leak-check=full --show-reachable=yes --show-pos...原创 2020-04-17 21:44:09 · 985 阅读 · 0 评论 -
编译速度的提升unityBuild
Makefile:通过unityBuild方式,将所有的.cpp/.c一起当做头文件编译,减少编译单元的数目,通过空间换时间的方法来提升编译速度。原创 2020-04-17 21:19:55 · 1071 阅读 · 0 评论 -
coredump调试-gdb/addressSanitizer
1.通过强大的GDB调试2.通过在gcc/g++ 4.8版本以上使用AddressSanitizer,添加-fsanitize=address -fno-omit-frame-pointer选项,代码中重定位stderr到文件中,方便跟踪错误;代码如:freopen("stderr.log","a",stderr);可以参考:https://zhuanlan.zhihu.com/p/2...原创 2020-04-17 21:49:49 · 598 阅读 · 0 评论 -
cpu占用率高的简单定位分析
top--查看cpu占用率高的进程 top -H -p pid--查看进程内各线程cpu占用率高的线程 通过strace -T --r -c -p pid 来查看系统调用和花费的时间 pstack pid 查看线程的调用堆栈的,结合代码很容易看到在哪里导致了busy loop查看cpu占用的函数调用分布可以通过gperftools来查看...原创 2020-04-17 21:46:53 · 236 阅读 · 0 评论