MFC程序运行比较慢,比如可能分配空间耗时大,我想写一个可以记录时间的日志程序!!求啊!!!!

MFC程序运行比较慢,比如可能分配空间耗时大,我想写一个可以记录时间的日志程序!!求啊!!!!,第1张

循环里不能有数据转换(整数到文本或文本到整数),分配内存不能一小块一小块的分(要一次分得够大),显示出来的东西不能太多(小于100就行),读写内存不能一小块一小块的读(要一次读得够大),最快的(变量,数组,汇编)。最慢的(数据转换,显示出来,频繁的调用函数)

C/C++中的计时函数是clock()。

所以,可以用clock函数来计算的运行一个循环、程序或者处理其它事件到底花了多少时间,具体参考代码如下:

#include “stdioh”

#include “stdlibh”

#include “timeh”

int main( void )

{

   long    i = 10000000L;

   clock_t start, finish;

   double  duration;

   / 测量一个事件持续的时间/

   printf( "Time to do %ld empty loops is ", i );

   start = clock();

   while( i-- )      ;

   finish = clock();

   duration = (double)(finish - start) / CLOCKS_PER_SEC;

   printf( "%f seconds\n", duration );

   system("pause");

}

先让你的图像处理进程用简单的循环指令延时程序替代,再进行测试:

如果执行的时间都相同的话,那么就是你的图像处理方法自身引起的执行时间不一致。

如果也不同,那么有可能是系统的消耗引起的,逐一停掉其他进程进行测试,检查缓存,内存处理,甚至定时器(晶振的稳定性)等等,逐一排查。

需要自己在每一行代码前后加上日志时间打印。

目前查询程序执行耗时,需要自己在每一行代码前后加上日志时间打印,在代码执行后,计算这一句代码的耗时。

Idea使用精确查找技巧总结:

1、Command+N搜索类,有选项可以搜索包含jar中的类。

2、Command+Shift+N搜索文件,有选项可以设置搜索包含Jar中的所有文件。

3、Command+Shift+Alt+N搜索标号(方法、成员变量等)有选项可以设置搜索包含Jar中的所有。

4、Command+Shift+F搜索字符串,与Eclipse中的Ctrl+H一样可以搜索字符串,有一些选项可以使用。

修改算法。。。这一大串的代码有多少人会仔细看啊,说明/注释都没有。

找出问题自己想办法改吧

大致看了下,主要时间大概还是在多重循环那了。想缩减时间的话,简化一下那部分

也可以调用matlab自带的计时工具,看那个函数占用时间做多。

以上就是关于MFC程序运行比较慢,比如可能分配空间耗时大,我想写一个可以记录时间的日志程序!!求啊!!!!全部的内容,包括:MFC程序运行比较慢,比如可能分配空间耗时大,我想写一个可以记录时间的日志程序!!求啊!!!!、C语言求一个程序运行时间、我现在用的是ARM CortexA9,每次跑程序耗时差别很大等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9356200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存