在之前做的视频监控系统项目中,我遇到的最大的问题就是解码器执行效率问题,因为视频处理数据量大,而且越是清晰的视频对解码器性能的要求越高,记得当时开始使用的是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。
总结:如果你没有开启所有优化之前,千万不要轻易对程序性能进行判断。一切需要付诸实践!
分享到:
相关推荐
很想像之前的一片Mysql全面优化详解那样子写一篇全面的优化文章,但是苦于没有相关书籍参考,也没有发现网络牛人有总结帖或文章之类的,所以就根据个人理解和经验写一些能优化程序效率的东西吧。这篇是不敢称全面的
微信小程序“基于微信的追星小程序Ssm.zip”是一款基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,专为粉丝和娱乐爱好者设计,用于追踪和支持他们喜欢的明星。该项目利用了微信小程序的广泛覆盖和...
SSM项目小程序“戏曲文化苑小程序bootpf.zip”是一个基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,专门设计用于推广和展示中国戏曲文化。该系统利用微信小程序的用户便利性和SSM框架的技术优势,为...
在科学技术飞速发展的今天,社区居民集体户口管理工作存在一些新情况、新问题,增加户口管理工作难度,降低工作效率和服务水平,难以适应社区信息化发展需求和居民日常实际需要。因此迫切需要一套社区居民户口管理系统,...
微信小程序“基于微信小程序的科创微应用平台设计与实现Ssm.zip”是一款基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,旨在为科技爱好者、创新企业和教育机构提供一个集成的科技创新与交流平台。...
由于中国的人口基数很大,随着我国的经济发展越来越快,以及互联网和手机的大面积普及,每个人都有希望生活能更加便利的想法或是需求,并且希望效率越来越高,所以现在许多人就有了网上购物的观念,有了浏览在线商城...
大数据算法在数据分析中发挥着重要的作用,它可以提高分析工作的效率和准确性,为决策提供有力支持。具体来说,大数据算法可以分类、聚类、预测和关联规则分析等,从而发现数据之间的规律和关联关系,挖掘出潜在的...
对于c++程序来说 map的...因此产生了自己写算法的想法。 现在我把自己的算法发布出来。大家可以测试对比发现,我的算法属于零碰撞的几率,但是性能比哈希算法还优。 声明:该代码不能用于商业用途,只能用于科学研究。
5. **互动评论**:观众可以在小程序中发表对比赛的看法和评论,增加互动性。 6. **奖励机制**:设立积分系统,对表现优异的球队和球员进行奖励。 7. **通知提醒**:通过微信模板消息功能,向相关人员发送比赛提醒和...
整个MyDB的开发时间都是我利用晚上22点到2点之间,以及周末的空余时间来进行的,因此进展缓慢,且效率不高。 计划在3年内将其实现完整,可以应用于实际生产环境。 MyDB采用的是纯java的技术实现,网络通讯部分...
我经常会遇到有关(基于Web的)产品的想法,这些想法我想将其用于概念验证。 我们都知道,使用任何已建立的代码库(已经工作了大约3个月以上的时间),Haskell的生产力将很容易赢得(在大多数方面)。 但是,当...
ECShop 2005年底,2006年初,高春辉和李梁(时任手机之家总经理),因为在给朋友建网上商城的时候,发现没有一个好用的商城软件,萌生了自己制作一个商城软件的想法。 2006年3月,从零开始招兵买马,组建团队,2006...
Java课程设计实训大作业:记事本+简易计算器+聊天系统+日历+中英查询 基础任务一:设计日历软件 ...3.功能完善,程序代码优化,执行效率高,具有较好可维护性和可扩展性。 4.软件功能设计具有一定的难度和创意。
摘要:基本上将常用的软件可以在BB用的替代品都找到了,还是感觉自己想要的一些功能没有能实现,于是有了自己写一个程序的想法。初步看了一些开发的文章,BB的程序都是基于Java的,Java以前用过。有好的工具,充分的...
这个想法是在小冲刺中工作,以帮助提高生产力和效率。 我发现这在编程中非常宝贵。 花 20 到 25 分钟专注于您的问题。 然后,无论您遇到什么问题,都要休息 5 分钟。 这将使您保持精神优势并充电。 维基:请随时...
为了扎实基础,于是有时间就会找一些源码研究,有时候想走走捷径,提高下效率,于是开始找一些代码审计的工具,但是目前国内貌似没有发现专业的这类工具,于是就萌发了编写这个PHP代码审计工具的想法,并付足于行动...
最新小程序“新闻资讯系统设计Springboot.zip”是一款基于Spring Boot框架开发的新闻资讯服务应用,旨在为用户提供一个简洁、高效的新闻阅读和内容管理系统。该应用通过Spring Boot的快速开发特性,实现了一个轻量级...
做个逆变器,高频的,效率高,体积小.前级肯定用SG3525或者TL494做的推挽升压,这没啥选择,关键是后级,它决定输出波形是方波还是正弦波. 输出正弦波的后级需要SPWM技术,肯定很多人的第一想法是使用单片机.的确,使用...
从看到那一排排小灯按着我们的想法在跳动时激动心情。到随着经验越多,越来又会感觉到这个小灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。 但对于绝大多数人,我们在最最初让灯闪烁起来时大约都会...