`
ZeaLoVe
  • 浏览: 89812 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于程序效率的一些想法

 
阅读更多

      在之前做的视频监控系统项目中,我遇到的最大的问题就是解码器执行效率问题,因为视频处理数据量大,而且越是清晰的视频对解码器性能的要求越高,记得当时开始使用的是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。

 

 

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

分享到:
评论

相关推荐

    关于Shell脚本效率优化的一些个人想法

    很想像之前的一片Mysql全面优化详解那样子写一篇全面的优化文章,但是苦于没有相关书籍参考,也没有发现网络牛人有总结帖或文章之类的,所以就根据个人理解和经验写一些能优化程序效率的东西吧。这篇是不敢称全面的

    最新小程序基于微信的追星小程序+ssm.zip

    微信小程序“基于微信的追星小程序Ssm.zip”是一款基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,专为粉丝和娱乐爱好者设计,用于追踪和支持他们喜欢的明星。该项目利用了微信小程序的广泛覆盖和...

    ssm项目小程序戏曲文化苑小程序bootpf.zip

    SSM项目小程序“戏曲文化苑小程序bootpf.zip”是一个基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,专门设计用于推广和展示中国戏曲文化。该系统利用微信小程序的用户便利性和SSM框架的技术优势,为...

    毕业设计基于微信小程序的社区户口管理的系统(java)毕业设计与实现(源码+数据库+演示视频).zip

    在科学技术飞速发展的今天,社区居民集体户口管理工作存在一些新情况、新问题,增加户口管理工作难度,降低工作效率和服务水平,难以适应社区信息化发展需求和居民日常实际需要。因此迫切需要一套社区居民户口管理系统,...

    最新小程序基于微信小程序的科创微应用平台设计与实现+ssm.zip

    微信小程序“基于微信小程序的科创微应用平台设计与实现Ssm.zip”是一款基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,旨在为科技爱好者、创新企业和教育机构提供一个集成的科技创新与交流平台。...

    商场微信小程序.7z 带文档

    由于中国的人口基数很大,随着我国的经济发展越来越快,以及互联网和手机的大面积普及,每个人都有希望生活能更加便利的想法或是需求,并且希望效率越来越高,所以现在许多人就有了网上购物的观念,有了浏览在线商城...

    python相关的一些小程序,小想法,包括爬虫,数据分析,机器学习,计算机视觉,(card_ocr).zip

    大数据算法在数据分析中发挥着重要的作用,它可以提高分析工作的效率和准确性,为决策提供有力支持。具体来说,大数据算法可以分类、聚类、预测和关联规则分析等,从而发现数据之间的规律和关联关系,挖掘出潜在的...

    改变程序性能的map

    对于c++程序来说 map的...因此产生了自己写算法的想法。 现在我把自己的算法发布出来。大家可以测试对比发现,我的算法属于零碰撞的几率,但是性能比哈希算法还优。 声明:该代码不能用于商业用途,只能用于科学研究。

    ssm项目校篮球联赛微信小程序pf.zip

    5. **互动评论**:观众可以在小程序中发表对比赛的看法和评论,增加互动性。 6. **奖励机制**:设立积分系统,对表现优异的球队和球员进行奖励。 7. **通知提醒**:通过微信模板消息功能,向相关人员发送比赛提醒和...

    用java写的MyDB数据库管理器演示程序

    整个MyDB的开发时间都是我利用晚上22点到2点之间,以及周末的空余时间来进行的,因此进展缓慢,且效率不高。 计划在3年内将其实现完整,可以应用于实际生产环境。 MyDB采用的是纯java的技术实现,网络通讯部分...

    haskell-startapp:尝试高效率的Web应用程序环境和入门模板

    我经常会遇到有关(基于Web的)产品的想法,这些想法我想将其用于概念验证。 我们都知道,使用任何已建立的代码库(已经工作了大约3个月以上的时间),Haskell的生产力将很容易赢得(在大多数方面)。 但是,当...

    商城程序源码

    ECShop 2005年底,2006年初,高春辉和李梁(时任手机之家总经理),因为在给朋友建网上商城的时候,发现没有一个好用的商城软件,萌生了自己制作一个商城软件的想法。 2006年3月,从零开始招兵买马,组建团队,2006...

    Java课程设计实训大作业:记事本+简易计算器+聊天系统+日历+中英查询(含源代码+运行截图+实训报告)

    Java课程设计实训大作业:记事本+简易计算器+聊天系统+日历+中英查询 基础任务一:设计日历软件 ...3.功能完善,程序代码优化,执行效率高,具有较好可维护性和可扩展性。 4.软件功能设计具有一定的难度和创意。

    自己收集初学者黑莓开发教程

    摘要:基本上将常用的软件可以在BB用的替代品都找到了,还是感觉自己想要的一些功能没有能实现,于是有了自己写一个程序的想法。初步看了一些开发的文章,BB的程序都是基于Java的,Java以前用过。有好的工具,充分的...

    agile-tasker:一个小型生产力 Web 应用程序

    这个想法是在小冲刺中工作,以帮助提高生产力和效率。 我发现这在编程中非常宝贵。 花 20 到 25 分钟专注于您的问题。 然后,无论您遇到什么问题,都要休息 5 分钟。 这将使您保持精神优势并充电。 维基:请随时...

    Seay PHP代码审计工具 V2.0.3源码

    为了扎实基础,于是有时间就会找一些源码研究,有时候想走走捷径,提高下效率,于是开始找一些代码审计的工具,但是目前国内貌似没有发现专业的这类工具,于是就萌发了编写这个PHP代码审计工具的想法,并付足于行动...

    最新小程序新闻资讯系统设计+springboot.zip

    最新小程序“新闻资讯系统设计Springboot.zip”是一款基于Spring Boot框架开发的新闻资讯服务应用,旨在为用户提供一个简洁、高效的新闻阅读和内容管理系统。该应用通过Spring Boot的快速开发特性,实现了一个轻量级...

    纯正弦波逆变器

    做个逆变器,高频的,效率高,体积小.前级肯定用SG3525或者TL494做的推挽升压,这没啥选择,关键是后级,它决定输出波形是方波还是正弦波. 输出正弦波的后级需要SPWM技术,肯定很多人的第一想法是使用单片机.的确,使用...

    单片机非阻塞延时程序设计

    从看到那一排排小灯按着我们的想法在跳动时激动心情。到随着经验越多,越来又会感觉到这个小灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。 但对于绝大多数人,我们在最最初让灯闪烁起来时大约都会...

Global site tag (gtag.js) - Google Analytics