注册 登录
编程论坛 C++教室

想问一下关于程序运行时间的测试问题

刘宇 发布于 2012-12-02 19:50, 303 次点击
上课的时候老师让我们下去自己看看一个程序用两个代码写出来时间一不一样。比如 用for循环和递归的时间可能不一样。
她只告诉我们用  <ctime>  这个库。
后面怎么弄我就不知道了。
  大一才学的这个,请大神教我一下啊。
新手第一次发帖,求帮助。
谢谢谢谢,万分感谢。

补充一下,我在百度上找过,但是百度上好像很多都是关于 C的,而不是C++的。感觉很乱,看不懂啊。

[ 本帖最后由 刘宇 于 2012-12-2 19:58 编辑 ]
4 回复
#2
azzbcc2012-12-02 19:57
Mark下,我也不会
#3
yuccn2012-12-02 20:31
程序运行时间吗?
可以试试winapi
GetTickCount()
#4
rjsp2012-12-03 09:08
如果以秒计,可以用time;比time更精确的有clock。这些都是C/C++标准库中的
若想比之刻度更小,只能使用标准库之外的东西了,有很多,比如windows的QueryPerformanceCounter

我以clock举个例子
程序代码:
#include <ctime>
#include <cstdio>

#include <cstdlib>

#include <iostream>
#include <iomanip>

int main()
{
    clock_t c = clock();
    // 随便做点耗时的事
    int s = 0;
    for( int i=0; i<1000000; ++i )
    {
        s += rand();
    }
    printf( "%d\n", s );

    c = clock() - c;
    std::cout << (c/CLOCKS_PER_SEC) << '.' << std::setfill('0') << std::setw(3) << (c%CLOCKS_PER_SEC*1000/CLOCKS_PER_SEC) << std::endl;

    return 0;
}


#5
刘宇2012-12-03 22:15
回复 4楼 rjsp
能继续问问么?
除了<iostream>,<ctime>那两个库。其他库都没听说过啊,能简单的告诉我有什么用么?
最后  “std::”   这个是什么意思呢?    这个老师上课没说过这种用法啊?

可能问题有点繁琐,不过希望能得到帮助,谢谢版主。新手求救
1