关于程序效率的一些想法

      在之前做的视频监控系统项目中,我遇到的最大的问题就是解码器执行效率问题,因为视频处理数据量大,而且越是清晰的视频对解码器性能的要求越高,记得当时开始使用的是ffmpeg移植到VC++下的版本,用Debug调试的时候性能非常差,完全不能满足要求。现在想想,当时为什么不用Release试试呢?

     之所以有这样的想法源于两个地方,今天看《C++对象模型》的时候作者提到“如果没有把优化开关打开,就很难猜测一个程序的效率表现............’” 还有一个是,昨天在实现对大量格式化数据进行关键字查重的时候,由于不同环境下的几次运行,效率各有千秋(同一段程序)


具体表现如下(处理150M数据)

环境+编译选项           运行时间   

VS 下 Debug模式      60s+

VS 下release模式      8.7s

Linux 无优化G++      10s+

Linux -o2 G++         8.1s     


      这也就是引发我回忆的原因,我因为之前的项目经验,导致我觉得VC++是个很废柴的编译器,但这次我需要改变看法了。大家如果在VC++下开发过,必然觉得VC的调试功能实在是过于好了,我目前觉得调试最爽的IDE,debug模式需要编译器完全变量查看,执行中断等等操作,需要设置许多的编译选项,所以编译的程序其实是加入过多杂物的庞然大物。执行起来自然不如意,只是很少人会想到,之间的差距居然如此之大。这个数据虽然我记不清楚准确的值,但我也十分震惊。 虽然我可以认为VC++不再那么废柴,但确定的一点是:G++编译器的表现还是优于VC++的。不管在Windows还是Linux。

 

 

总结:如果你没有开启所有优化之前,千万不要轻易对程序性能进行判断。一切需要付诸实践!

介绍:工作效率类小程序 我们的工作效率类小程序旨在帮助用户提高工作效率、管理时间和任务,以更高效地完成工作和达成目标。它提供了一系列实用的功能和工具,帮助用户规划、组织和跟踪工作任务,并提供相关的提醒和提醒功能。 主要功能包括: 1. 任务管理:用户可以创建、编辑和删除任务,设置任务的截止日期和优先级,以及关联任务的标签和备注。用户可以根据不同的项目或类别来组织任务,并轻松地查看任务的进度和状态。 2. 提醒和通知:用户可以设置任务的提醒和通知,在任务到期前收到提醒,或者在特定时间段内接收通知。这有助于用户及时处理任务,避免遗忘或错过重要的工作。 3. 时间跟踪:用户可以记录工作时间和任务所花费的时间,并生成时间报告。这有助于用户了解自己的工作时间分配情况,识别时间浪费的地方,并优化工作流程。 4. 日程管理:用户可以创建个人日程安排,安排会议、约会和重要事件。系统会提供提醒功能,确保用户不会错过重要的日程安排。 5. 个人笔记:用户可以创建和管理个人笔记,记录工作中的重要信息、灵感和想法。这有助于用户整理和保存工作中的重要资料,方便日后参考和回顾。 通过我们的工作效率类小程序,用户可以更好地管理自己的工作和时间,提高工作效率,减少工作压力,并更好地平衡工作和生活。无论是个人用户还是企业用户,都可以从中获得实用的帮助和价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值