在C+;中,估计代码时间性能的最准确方法是什么+; 我正在编写一个C++代码,它运行在Ubuntu上。我也使用pthread。我在做算法性能方面的研究

在C+;中,估计代码时间性能的最准确方法是什么+; 我正在编写一个C++代码,它运行在Ubuntu上。我也使用pthread。我在做算法性能方面的研究,c++,benchmarking,C++,Benchmarking,我改进了这个算法,可以运行6~10个小时。但是我测量的时间也包括非常微小的东西,比如ms 此外,我运行它的计算机也在运行其他进程,因此如何确保测量的时间不包括其他进程的时间处理 没有单一的“最准确的方法”。与任何测量一样,您必须首先定义要测量的内容。如果您只是想测量执行时间,那么重复执行相同的任务并停止时间是合适的 如果您想测量CPU实际忙于执行任务的时间,top可能是您感兴趣的程序 如果您需要知道在哪个子例程中花费了多少时间,linux utils包包含perf,它可以测量单个调用时间 通常,

我改进了这个算法,可以运行6~10个小时。但是我测量的时间也包括非常微小的东西,比如ms

此外,我运行它的计算机也在运行其他进程,因此如何确保测量的时间不包括其他进程的时间处理

没有单一的“最准确的方法”。与任何测量一样,您必须首先定义要测量的内容。如果您只是想测量执行时间,那么重复执行相同的任务并停止时间是合适的

如果您想测量CPU实际忙于执行任务的时间,
top
可能是您感兴趣的程序

如果您需要知道在哪个子例程中花费了多少时间,linux utils包包含
perf
,它可以测量单个调用时间

通常,非CPU延迟主导运行时。例如,当您等待网络输入或硬盘数据时,仅仅测量CPU所花费的时间是没有意义的

所以:你的问题实际上是你自己的问题:你想衡量什么?“算法性能”表明你在从事计算机科学,在这种情况下,你应该能够查阅大量的文献,解释可能感兴趣的内容。对于“什么是最准确的测量”这个问题,没有单一的“解决方案”,除非你更仔细地定义“测量”;这是你的工作,通常这是衡量事物的困难部分