【发布时间】:2017-07-16 09:43:13
【问题描述】:
我目前正在从事一个涉及海量数据和复杂算法的科学计算项目,因此我需要进行大量代码分析。我目前依靠<ctime> 和clock_t 来计时我的代码的执行。我对这个解决方案非常满意……除了我基本上是在计时,因此对于每一行真实代码,我必须调用start_time_function123 = clock()、end_time_function123 = clock() 和cout << "function123 execution time: " << (end_time_function123-start_time_function123) / CLOCKS_PER_SEC << endl。这会导致严重的代码膨胀,并很快使我的代码变得不可读。你会怎么处理呢?
我能想到的唯一解决方案是找到一个允许我标记部分代码(在不同位置,甚至在不同文件中)的 IDE,并通过一个按钮切换隐藏/显示所有标记的代码。这将允许我在大部分时间隐藏与分析相关的代码部分,并仅在我想要的时候显示它。
【问题讨论】:
-
您可以使用上述代码创建一个开始和结束函数,并在需要时调用它们。
-
你应该看看std::chrono。
-
std::chrono 如何回答我的问题?
-
您应该投资一个工具,而不是手动检测您的源以进行分析。
标签: c++ performance time profiling