codeblocks中对代码的三种测试时间方法

来源:互联网 发布:jsp引入java代码 编辑:程序博客网 时间:2024/05/16 09:19

嘻……这几天周赛啥的卡时间太紧,别的队友优化常数太屌,所以只能学习下这个代码测试时间的方法了,上网找了两种方法,然后再加上队友的方法,三种都搬上来了。

第一种:

#include<time.h>int main(){    clock_t startTime=clock();    {        //这里是我们要测试的代码;    }    clock_t endTime=clock();    cout<<"运行时间为::"<<endTime-startTime<<"ms"<<endl;}

第二种:

#include<windows.h>int main(){    DWORD startTime=GetTickCount();    {        //这里是我们要测试的代码;    }    DWORD endTime=GetTickCount();    cout<<"运行时间为::"<<endTime-startTime<<"ms"<<endl;}

第三种:

队友给力的文件测试方法,非常适合文件数据的测试。

在安装的codeblocks文件夹中,有一个名为:cb_console_runner 的应用程序,如下图:



把它拷到你的程序的同一路径中,比如我的代码程序是放在桌面的,然后我把这个cb_console_runner也放到桌面上。比如你的程序是A.cpp,数据放在1.txt中,现在我想把显示的时间输入在2.txt中,操作:你先用codeblocks运行你的程序得到A.exe应用程序,然后在桌面上按住shitf键不放然后点击鼠标右键,选择:在此处打开命令窗口 选项,然后输入:cb_console_runner A.exe <1.txt >2.txt,再连续按两次回车键即可。然后可以打开2.txt看看你程序的运行时间了。

cb_console_runner A.exe <1.txt >2.txt,这句话的意思应该是打开A.exe,然后从1.txt中读取数据运行,然后把结果和运行时间输入到2.txt中吧。


三种测试时间的比较:

第一第二种差不多,因为直接在main函数中测试,所以可能会比第三种时间快点吧。如果是用手输入数据在运行窗口中的话,那程序的运行时间就更加多了,因为第一第二种是最后程序的结束时间减去开始时间的,所以会慢。

如果都是用文件读取数据的话,这三种时间应该是差不多的。

0 0