代码优化

代码优化

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

好久没写文章,近期忙房屋装修,难得闲下来写写blog,想起之前搞得非常狼狈的3个性能问题,都是非经常见的,记下来引以为戒:

1. 在写系统的i2c driver的时候,从參考板拿来一份轮询的driver sample,改完之后就直接提交代码到系统库,主要的測试都没有问题,一直到系统级别測试,发现和其它系统的交流的某个task A偶尔会timeout,一直找了非常久以为是网络有问题,最后无意观看使用Vxworks自带的spy monitor log里面发现当task A timeout的时候,i2c driver task占用CPU百分比非常高,而i2c driver task仅仅是简单的读取操作,并且读取次数也不多,细致查看轮询代码, driver里面在等待i2c返回的时候使用了sysUsDelay,看了UsDelay的实现就是i++…..难怪CPU占用非常高,改成中断模式之后问题解决。

2. 第二个问题就更有意思u时候遇到的,折腾了近1个月,在系统的end to end測试中,发现一旦Call的数目上去之后,有一个task的CPU使用率过高,有怀疑过硬件性能不行,也有怀疑过系统压力过大,最后还是看代码看到一个有意思的地方:三重循环。一看到三重循环就非常紧张,每次task运行就是368*3*2次循环体,谨遵循环优化办法:把推断条件能外移的外移,同一时候也把code里面的除法都改成了移位操作。CPU使用过高问题得到解决。

3. 系统压力測试的悲剧:怎么说呢,感觉就是自己太菜,第一次做系统级别的測试,被广告“在cdma的网络里面,Rev A号称3.1mbps的速率”忽悠了。所以系统级别的測试希望手机ftp的速率能够上到3.1mpbs,结果整个系统一直处于崩溃状态,找高通询问他们芯片的处理能力,找自己系统的代码处理能力瓶颈,最后发现overhead没考虑,所以才会出现系统负载只是来的情况,考虑全部的overhead,手机ftp应用最多去到2.7、2.8mbps,我去。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118933.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • webstorm永久激活码【中文破解版】

    (webstorm永久激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
  • 一脸懵逼学习Nginx及其安装,Tomcat的安装

    一脸懵逼学习Nginx及其安装,Tomcat的安装

    2022年3月8日
  • matplotlib.pyplot.plot()参数详解「建议收藏」

    matplotlib.pyplot.plot()参数详解「建议收藏」https://matplotlib.org/api/pyplot_summary.html在交互环境中查看帮助文档:importmatplotlib.pyplotasplthelp(plt.plot)以下是对帮助文档重要部分的翻译:plot函数的一般的调用形式:#单条线:plot([x],y,[fmt],data=None,**kwargs)#多条线一…

    2022年7月14日
  • 初识ABP vNext(5):ABP扩展实体

    初识ABP vNext(5):ABP扩展实体

    2020年11月20日
  • open class and closed class_demo怎么发音

    open class and closed class_demo怎么发音importos#给一个列表,生成文件夹,并在其中新建txt文件,写入文件名内容#例如彭于晏文件夹下有彭于晏.txt里面有彭于晏三个字name_list=[“彭于晏”,”周润发”,”周杰伦”,”陈道明”,”成龙”,”李连杰”,”阿里”,”百度”,”字节跳动”]#批量新建文件夹的关键formkdir()fornameinname_list:os.mkdir(name)#makedirs()通用file_name=name+”.txt”

    2022年10月22日
  • 移动端app开发流程分析「建议收藏」

    移动端app开发流程分析「建议收藏」随着信息技术的不断发展,互联网早已经向移动互联网过渡,而智能手机正在逐步取代桌面电脑的地位,手机APP成为人们获取各类信息、服务的强大渠道。在移动互联网时代,每个企业都希望能够分享流量红利,从而让自己的企业发展的更好。选择一款适合自己的手机APP成为每个企业都在思考的问题。对于大部分的企业,尤其是餐饮、旅游、教育、美容美发、医美、健身、建筑、房地产等传统行业来讲,因为这部分企业主并不是从事互联…

    2022年6月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号