您的位置:首页 > 编程语言

编程前,关于时间的想法2

2008-11-10 15:13 239 查看
采用release编译模式、和debug模式比较起来,时间相差太恐怖了!

#include <windows.h>

#include <iostream>

using namespace std;

inline void func()

{

int j = 0;

for (int i=0;i<3000000000;i++)

{

j++;

}

}

void main()

{

SYSTEMTIME time1,time2;

GetSystemTime(&time1);

func();

GetSystemTime(&time2);

cout<<time2.wSecond - time1.wSecond<<endl;

}

同样一段代码,debug下10秒,release0秒。

inline函数优化、代码优化,果然不同凡响——在编写多目标程序的时候,大可以先编译、再release运行。

高效的函数计算,比如计算f(x),有没有比C库函数中更快速的方法?(在精度允许的情况下)如果有的话,哪怕是每次计算节省几毫秒,也能让我实验速度快上很多呢!

build->set active configuration 选择win32 Release ,在debug模式下,inline是不打开的。

在debug模式下,CTP2多目标函数,在达到到1千万次的计算量时,就显得很慢了;但是在release模式下,至少可以达到上亿次的运算量(优化效果不错),达到10亿次,还能够接受;到达百亿次,也变得很慢了:26min5秒。

你有没有考虑过,每进行一轮信息素的调整,花费的时间,能够进行多少次的运算?如果信息素的调整,不能带来解的改进,那么就是浪费运算时间。

为了进一步加快我们的运算速度,是不是应该开启多线程?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: