基准测试:获取算法用户时间
Benchmarking : get algorithm user time
我正在尝试测试我在C++中编写的算法的性能。我使用我的大学计算集群(通过 SGE)
问题是我不知道服务器何时已满或未进行其他计算,因此我无法测量有效用户时间(我假设每当进程如此繁忙时它都不会改变,我错了吗?
用户时间不是用来计算和比较算法之间时间性能的时间吗? 因为我在相同的执行中没有得到相同的结果
如果您使用的是时间共享,则算法的运行时间将因运行而异。
您是否尝试过 shell time
命令?
time [MY PROGRAM]
或者,要了解更多信息,GNU 时间命令?
/usr/bin/time <MY PROGRAM> [ARGS]
这些命令将很容易开始,并将为您提供所需的一些信息。
另外,您提到了一个集群,也许您正在使用 MPI 或其他框架?也许这个框架有一些内置的定时命令(我不确定是否存在这样的东西,但可能值得研究)。
为了比较性能指标,您确实希望消除"用户时间"的干扰。 那里有很多很好的分析工具。 您可以查看您的大学是否有其中之一供您使用。
你可以写小的标准测试。此测试将表示"1"。然后,您的复杂应用程序将被相对测量。例如,您的应用程序将进行 4 次标准测试。您需要同时运行标准测试和应用程序。
相关文章:
- 即使在多任务处理时,添加用户时间 + 系统时间(来自 shell 的时间命令)是否是一种可靠的措施?
- 在C++的主逻辑中接收真实/用户/系统时间
- 使用结构显示军事时间,并将一秒钟的时间添加到用户输入(C )中
- 如何检查用户登录到Windows的时间
- 更改Linux用户从C/C 代码运行时间
- 以C++分隔用户输入的时间
- 基准测试:获取算法用户时间
- 在运行时间内用户输入任何内容时,如何停止计时器
- 两个用户输入时间 C++ 的差异
- 如果你以root用户身份运行这个C++程序,为什么它要花这么长时间才能完成
- 如何添加基于时间的限制以阻止Windows用户登录
- 使用 C++ 检查用户输入的值是否在 X 时间内
- 动态分配 C 字符串内存,无需先询问用户输入时间
- 检测用户在窗口时间的变化
- 如何显示用户花费的号码,即用户输入了多少时间
- 实时时间和用户时间之间存在巨大差异
- 从 twitcurl 时间线获取未授权错误用户获取方法
- 如何在 c++ Windows 控制台应用中以用户定义的格式打印日期时间
- 如何对用户输入设置时间限制
- 实时、用户时间和系统时间之间的差异