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

采用release编译模式、和debug模式比较起来,时间相差太恐怖了!

  1. #include <windows.h>
  2. #include <iostream>
  3. using namespace std;
  4. inline void func()
  5. {
  6.     int j = 0;
  7.     for (int i=0;i<3000000000;i++)
  8.     {
  9.         j++;
  10.     }
  11. }
  12. void main()
  13. {
  14.     SYSTEMTIME time1,time2;
  15.     GetSystemTime(&time1);
  16.     func();
  17.     GetSystemTime(&time2);
  18.     cout<<time2.wSecond - time1.wSecond<<endl;
  19. }

 

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

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

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

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

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

 

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

为了进一步加快我们的运算速度,是不是应该开启多线程?

你可能感兴趣的:(多线程,编程,c,优化)