首页 > 解决方案 > C++ 获取运行时间和内存使用情况

问题描述

我一直在 LeetCode 上练习我的 C++ 编程,每当我提交解决方案时,它都会告诉我我的程序运行了多长时间以及它使用了多少内存。

我正在使用带有 g++ 的 mac 和 VSCode 在本地编译我的程序。我想找到一种工具或方法,我可以使用它来获取有关我的程序的运行时间和内存使用情况的相同信息,以便我可以尝试调整它以查看对性能的影响。

是否有编译器选项或命令行工具或 VSCode 扩展之类的东西我可以运行我的程序,或者我是否必须向我的程序添加代码来跟踪时间和内存本身?

标签: c++performanceg++performance-testingbenchmarking

解决方案


您可以使用valgrind查找内存泄漏或分析。以及用于代码片段基准的谷歌基准。或者您可以使用chrono自己测量时间。还有一个在线基准测试工具quick-bench

更新:

我在Godbolt上找到了这个很好的信息,它提供了关于迭代或循环次数的见解......

感谢@Peter工具 llvm-mca 估计了每周期指令 (IPC) 以及硬件资源压力。这是对 CPU 理论模型的模拟,而不是配置文件,但仍然可能有用。它也不包括缓存未命中。


推荐阅读