2013-04-07 116 views
-3

我已经为我的家庭作业编写了一个C++程序,用于计算运行一个函数所花费的时间,并且我需要一些耗时的函数来执行,计算机运行它至少需要几秒钟,最好是它是一个矩阵。我试图运行的所有功能都在一秒或更短的时间内运行,令人沮丧。什么是需要很长时间执行的一些函数?

,它不能离开一个巨大的烂摊子,字符在屏幕上,就像1000×2000个矩阵

我已经告诉平方矩阵将需要一些时间的电脑做的,但我不不知道这是真的还是如何完成的。

这是我目前的矩阵,这在加载了不到一秒钟:(

#include <iostream> 
#define HEIGHT 10 
#define WIDTH 20 
using namespace std; 

void func() 
{ 
    char world[HEIGHT][WIDTH]; 
    int i, j; 
    for (i = 0; i < HEIGHT; i++) { 
     for (j = 0; j < WIDTH; j++) { 
      world[i][j] = '.'; 
      cout << world[i][j]; 
     } 
     cout << endl; 
    } 
} 
+8

以我的经验,包含无限循环的函数需要很长时间才能执行。 – Mysticial 2013-04-07 16:10:58

+0

你想测量一个函数的运行时间或什么? – taocp 2013-04-07 16:10:59

+1

只需放入['Sleep'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298%28v=vs.85%29.aspx)? – 2013-04-07 16:11:00

回答

6

鉴于任何功能f不会有副作用,你可以少f2 100万次有效的

void f2() { for(long i = 1; i <= 1000000; ++i) { f(); } } 

现在,如果这还不够慢,whooooosh!这里来f3

void f3() { for(long i = 1; i <= 1000000; ++i) { f2(); } } 

依此类推。

但是,如果你想真的真的效率低下,然后查找阿克曼功能。


这就是说,请注意,上述方法基本上相当于执行任何你想测量的次数,足够多次。

这就是标准的方法。

相关问题