有哪些功能需要很长时间才能执行?

时间:2013-04-07 16:09:01

标签: c++ visual-studio

我为我的作业编写了一个c ++程序来计算运行函数所需的时间,我需要一些耗时的函数来执行,至少需要几秒才能让计算机运行它,最好是如果它是矩阵。我试图运行的所有功能都在一秒或更短时间内运行,这令人沮丧。

它不会在屏幕上留下巨大的混乱,如1000 x 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;
    }
}

1 个答案:

答案 0 :(得分:6)

鉴于任何没有副作用的函数f,您可以通过

使f2效率低100万倍
void f2() { for( long i = 1;  i <= 1000000; ++i ) { f(); } }

现在,如果这还不够慢,那么哇哇!来自f3

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

等等。

但是如果你想真的效率非常低,那么请查看Ackermann函数。


那就是说,注意上述方法基本上等于执行你想要测量的任何东西,足够的时间。

这是标准方法。