基准测试:获取算法用户时间

Benchmarking : get algorithm user time

本文关键字:用户 时间 算法 获取 基准测试      更新时间:2023-10-16

我正在尝试测试我在C++中编写的算法的性能。我使用我的大学计算集群(通过 SGE)

问题是我不知道服务器何时已满或未进行其他计算,因此我无法测量有效用户时间(我假设每当进程如此繁忙时它都不会改变,我错了吗?

用户时间不是用来计算和比较算法之间时间性能的时间吗? 因为我在相同的执行中没有得到相同的结果

如果您使用的是时间共享,则算法的运行时间将因运行而异。

您是否尝试过 shell time 命令?

time [MY PROGRAM]

或者,要了解更多信息,GNU 时间命令?

/usr/bin/time <MY PROGRAM> [ARGS]

这些命令将很容易开始,并将为您提供所需的一些信息。

另外,您

提到了一个集群,也许您正在使用 MPI 或其他框架?也许这个框架有一些内置的定时命令(我不确定是否存在这样的东西,但可能值得研究)。

为了比较性能指标,您确实希望消除"用户时间"的干扰。 那里有很多很好的分析工具。 您可以查看您的大学是否有其中之一供您使用。

你可以写小的标准测试。此测试将表示"1"。然后,您的复杂应用程序将被相对测量。例如,您的应用程序将进行 4 次标准测试。您需要同时运行标准测试和应用程序。