use*_*179 1 c++ time decimal measure
我正在测量排序aloghytms的时间,如Bubble,Insert,Selection和Quick sort.我用它来达到我的目的
    long int before = GetTickCount();
    QuickSort(pole,0,dlzka-1);
    long int after = GetTickCount();
    double dif = double((after - before));
cout << "Quick Sort with time "<< dif << " ms " << endl;
我正在使用30 000个整数对数组进行排序,并且除了QuickSort之外还可以正常工作,除了QuickSort之外,它可能在不到1毫秒的时间内对30k整数进行排序,然后我的计时器说它是0ms,看起来像是一个错误.我想写它例如0,01ms只是为了使它看起来它运行corectly.谢谢.
在进行基准测试时,您从不仅仅测试一次运行.您的计时器不够精确/准确,无法在很短的时间内提供有意义的结果.
例如,文档GetTickCount说:
GetTickCount函数的分辨率仅限于系统计时器的分辨率,通常在10毫秒到16毫秒的范围内.
因此,很明显,获得0.01ms的值是愚蠢的.
相反,对许多运行进行基准测试,然后除以运行它的次数.
| 归档时间: | 
 | 
| 查看次数: | 1052 次 | 
| 最近记录: |