文章分类 -  二十、程序性能优化工具

摘要:1、当确定函数没有异常的使用,使用noexcept 在 C++11 中,noexcept关键字用于表示函数不会抛出异常。使用noexcept的主要原因是为了提高代码的效率和性能。 在 C++中,函数的默认行为是可以抛出异常的。这意味着在函数内部如果发生了异常,程序会跳转到异常处理代码,并执行相应的处 阅读全文
posted @ 2024-01-25 11:56 zwj鹿港小镇 阅读(20) 评论(0) 推荐(0) 编辑
摘要:一、介绍 首先,先介绍一下 Sanitizer 项目,该项目是谷歌出品的一个开源项目,该项目包含了 ASAN、LSAN、MSAN、TSAN等内存、线程错误的检测工具,这里简单介绍一下这几个工具的作用: ASAN: 内存错误检测工具,在编译命令中添加-fsanitize=address启用 LSAN: 阅读全文
posted @ 2024-01-10 18:15 zwj鹿港小镇 阅读(396) 评论(0) 推荐(0) 编辑
摘要:1、设置运行linux系统生成coredump文件 设置允许生成coredump vim /etc/profile ulimit -c unlimited source /etc/profile 查看是否支持生成coredump $ ulimit -a | grep core core file s 阅读全文
posted @ 2024-01-10 17:57 zwj鹿港小镇 阅读(21) 评论(0) 推荐(0) 编辑
摘要:以下是C和C++的性能调优工具,包含工具介绍和链接: (1)Valgrind:一款非常流行的内存调试和性能分析工具,可以检测内存泄漏、死锁等问题,并提供CPU性能分析工具。它可以跟踪程序中的所有内存分配和释放操作,并在程序执行时给出详细的报告。Valgrind是一个开源工具,支持Linux和MacO 阅读全文
posted @ 2023-05-22 17:30 zwj鹿港小镇 阅读(355) 评论(0) 推荐(0) 编辑
摘要:对于运行在Linux上的分布式系统,一个标准的性能调优建议是调整tcp_rmem和tcp_wmem内核可调参数。但是这些是什么呢?为什么它们很重要?它们是如何工作的? 一、理解TCP缓冲区 为了更好地理解TCP缓冲区是如何工作的,让我们研究这样一个场景:“应用程序A”(客户端)希望通过TCP将数据发 阅读全文
posted @ 2023-05-15 17:54 zwj鹿港小镇 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (p 阅读全文
posted @ 2023-05-15 16:47 zwj鹿港小镇 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、valgrind介绍 Valgrind是一款用于内存调试、内存泄漏检测以及性能分析、检测线程错误的软件开发工具。 Valgrind 是运行在Linux 上的多用途代码剖析和内存调试软件。主要包括Memcheck、Callgrind、Cachegrind 等工具,每个工具都能完成一项任务调试、检测 阅读全文
posted @ 2022-08-07 10:01 zwj鹿港小镇 阅读(775) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示