Har*_*ari 0 c windows performance assembly intel
抱歉,我没有具体说明问题,我需要一种方法来计算我的算法所需的确切时钟周期数,用 C 编写,
->我尝试了clock()和Windows特定函数,如QueryPerformanceCounter(),它们都没有在每次运行时给我准确的时钟周期。
对于相同的输入,我每次运行都会得到完全不同的值。
如果您建议任何以时钟周期为单位查找执行时间的方法,并且每次运行都不会改变,那将非常有帮助。
硬件:我的是intel i5处理器,运行在windows 10操作系统下。
除非您在没有操作系统或设备驱动程序干扰的非常原始的处理器上运行程序,否则不存在算法所需的确切时钟周期数之类的东西。在 i5 处理器上运行 Windows 10 绝对不符合条件。
程序执行所需的时间甚至时钟数量取决于多种因素,这些因素使其在很大程度上不可预测:
所选程序片段的精确计时仍然是可能的,但不会降低时钟计数,并且需要高级技能来尝试防止上述问题和其他问题的干扰。多次重复短期测试并保持最佳时间是一个好的开始,但总会包含一定范围的不确定性,因此准确性有限。
必须研究算法的更重要方面:时间和空间复杂度、最佳、平均和最坏情况,最重要的是,正确性和范围限制。
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |