【发布时间】:2019-07-05 19:31:02
【问题描述】:
我一直在 LeetCode 上练习我的 C++ 编程,每当我提交解决方案时,它都会告诉我我的程序运行了多长时间以及它使用了多少内存。
我正在使用带有 g++ 的 mac 和 VSCode 在本地编译我的程序。我想找到一种工具或方法,我可以使用它来获取有关我的程序的运行时间和内存使用情况的相同信息,以便我可以尝试对其进行调整以查看对性能的影响。
是否有编译器选项或类似命令行工具或 VSCode 扩展之类的东西可以让我运行我的程序,或者我是否必须向我的程序添加代码来跟踪时间和内存本身?
【问题讨论】:
-
回到过去,
Xcode > Open Developer Tool > Instruments是您的最佳选择。我没有 Mac,所以我不会密切关注 Current Events,但问:现在 XCode 不是一种选择吗? -
@paulsm4 我确信 XCode 是强大的 IDE,可以处理很多事情,尤其是如果你正在专门为苹果硬件进行开发,但我通常更喜欢像 VSCode 或 Sublime Text 这样的轻量级编辑器,并使用我大部分工作的终端。
-
如果你想要“轻量级”,请使用 vi ;) 我的偏好是成熟的 IDE(立即想到 Eclipse、MSVS 或 Android Studio)或文本编辑器。否则,它是“notepad++”或“vi”。和“make”或“gradle”;)无论如何——我提出 XCode 的原因是它明确地拥有你需要的工具。或者你可以使用像 gprof 这样的 gcc 工具(binutils 的一部分,通常与 gcc 一起安装)。
-
@paulsm4 不幸的是,gprof 似乎不适用于 macOS Mojave :(
-
很公平。我仍然认为尝试 XCode 可能是最快、最简单、最强大的解决方案。但是 Valgrind/callgrind 确实值得一看,并且在某种程度上它是基于 CLI 的,它应该很容易与 VSCode 集成:valgrind.org/docs/manual/cl-manual.html。
标签: c++ performance g++ performance-testing benchmarking