程序中提升几毫秒、节省几 kB 的内存有必要吗?

我记得我上小学的时候有一篇课文,说是有一个人很节省,不仅他自己家里节省,如果别人家吃饭乱扔的剩饭,他都会去收拾起来晒干存起来。然后刚好有一年饥荒,大家都没有米吃了,他就把他那些年存起来的米给大家吃。

我觉得节省这个事情要看情况,当时那个时候粮食产量低,如果不节省,那就可能有可能吃不饱。

但是现在不一样,现在MCU动不动就是可以加内存的,我们原来刚开始用手机,内存256M,现在内存直接是8G。以前一张图片是640*480,现在一张图片直接几十M的大小。

如果靠这样节省代码的空间,没多少作用。

de184a348b6e772fc29c24962492fe80.jpeg

补充!

我想说明的是,代码占用的空间和实际存储占用的空间相比少太多了,如果能优化肯定是好的,我也有过在52832上的项目移植到51822上优化的经历,在节省几十个字节上也花费了功夫,特别是,很多人写标志位一般都是int flag,我们当时是用一个bit来做一个标志。

因为运行速度会直接影响到产品的性能,所以运行速度的快慢会直接让用户感受到产品的好坏,就好比,如果我们打开一个视频需要等几分钟,那么你可能就没有看视频的欲望了。如果开机需要几个小时,你可能也没有想用电脑和手机的欲望了。

但是有一说一,现在的安卓手机开机速度是很慢的,之所以我们感受不到这种痛感,是因为现在手机开关机已经成为一种很低频的事情。

但是你说在1小时的开机时间上增加/减少1ms,那从使用者感受上是没什么感觉的。但是说,你要是在触摸中断的处理函数里面增加1ms,那对用户来说是比较难受的。

a1243591ffb46d809aa729bd80d56169.jpeg

04f2fff29ed4c4d0e2aa34935207eaf9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pthread_join()函数理解

pthread_t tid; 使用方式:pthread_join(tid,NULL); 为什么要使用pthread_join()? 在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束, 但是如果主…

SmartTemplate学习入门一

php最简单的模板 Array的变量是由SmartTemplate内建函数assign()来赋值的 具体语法如下 assign ( 模版中的变量, 要替换的内容 ) 或 assign ( Array内容 ) 和其他程序的变量一样,smartTemplate的变量是由特殊的{}所包含的。里面的内容可以是S…

人生感言

马云说的一些话,还是值得思考的: (1)、细节好的人格局一般比较差 (2)、态度比能力重要,选择同样也比能力重要 (3)、领导比员工多什么? 领导永远不要跟下属比技能,下属肯定比你强;如果不比你强&#x…

当MCU死机了,先把硬件抓过来~

关于软件开发中的偶发性问题,有些处理办法看似不是很难,但其实最重要的还是对问题的敏感度,而这份敏感度就来源于你对整个系统的理解和把握。当你能够尽快缩小问题代码的范围,在一定程度上就已经加快了解决问题的进度。之前我曾提…

青蛙学Linux—NFS

NFS,Network File Syttem,网络文件系统。它允许网络上运行不同操作系统的主机通过网络连接到运行NFS服务的主机上,以实现数据共享。NFS的配置非常简单,经过简单的设置既能快速使用NFS。 使用NFS,首先在服务端运行NFS服…

extjs 学习中

首先找了个js得开发工具:Komodo Edit 但是安装了好多次都没有出现提示,均告失败!今天再次鼓起勇气安装试试:首先安装Komodo-Edit-4.3.2-1263; 成功!然后: 下载extjs_api_catalogs-2.0.2-ko.xpi &#xff…

火眼睛睛查coredump(stl sort)------永远让比较函数对相同元素返回false

转载:http://blog.csdn.net/stpeace/article/details/51040218#cpp 看看如下代码的一个非常隐晦的错误, 虽然不会每次core dump, 但类似代码迟早会core dump, 好多人遇到过。 此问题极难定位, 看一下吧: [cpp] view pl…

P1648 看守

传送门 以二维的两个点\((x1,y1),(x2,y2)\)为例,那么他们之间的曼哈顿距离肯定为一下四个之一\((x1-x2)(y1-y2)\),\((x2-x1)(y1-y2)\),\((x1-x2)(y2-y1)\),\((x2-x1)(y2-y1)\),而且为这四个里面最大的 然后搞一搞可以变成下面的样子\((x1y1)-(x2y2)\),\(…

好友让我看这段代码

周末的时候,一个微信好友让我旁边看一段代码在写下面的文章之前,我先简单说下写代码是一件非常有意思的事情,同时也是一件需要我们认真对待的事情,我不认为一定要把代码写的和大神一样看不明白,但是至少要逻辑清晰&…

使用github管理Eclipse分布式项目开发

使用github管理Eclipse分布式项目开发 老关我在前面的博文(github管理iOS分布式项目开发)中介绍了github管理iOS分布式开发,今天老关将向大家介绍使用github管 理Eclipse分布式项目。事实上我们的516inc团队这在开发一个多移动平台项目&#…

愉快且卓有成效:培养你与人相处的能力

毫无疑问,渊博的学识和不断的创新是事业成功的基础。然而,把一个概念变为成果,离开他人的合作,任何人,无论是伟人还是凡夫,都无法实现。与人合作得是否愉快且卓有成效,完全取决于你与人相处的能…

小玩一个并行多线程MCU—MC3172

大家好转发一篇杂烩君的文章,杂烩君是我同一个高中的老乡,他平时分享的嵌入式知识非常不错。——————大家好,我是杂烩君。最近,朋友送了块小板子,板子上的MCU是个很有意思的东西——并行多线程处理器MC3172 。通俗…

Android 人脸识别签到(一)

因为Android课程设计自己选题,所以作者选了这个相对简单的。本来开始是想做大学课程查签到,拍一张集体照,就可识别哪些人已到,哪些未到。查了一下百度AI开发平台的人脸识别接口,发现V3的接口文档有M:N的人脸识别&#…

[系列文章]上传文件管理控件v2

一、引言: 开发v1的时候,遇到很多困难(因为我是新手),于是就上网找了一些资料。 其中,这篇《数据绑定的总结 》文章(http://www.cnblogs.com/qingtianyzl/articles/351012.html)被我…

[ mongoDB ] - mongoDB的基本操作

mongoDB的基本操作 强烈推荐参考官方用户手册: http://www.mongodb.org/display/DOCS 1)插入(insert) 插入的value是json对象,以下示例循环添加了10个用户信息,字段可以是字符串、数值、对象、数组等。 通过VUE查看&am…

STL中的multimap---顺便说说如何查找同一关键字对应的所有值

转载:http://blog.csdn.net/stpeace/article/details/44984639 我个人感觉哈, map的应用场景比multimap更多, 不过, 我们还是来学一下multimap。 我们知道, multimap中, 一个关键字可能对应多个不同的值&am…

信号量保护之位带操作

大家好,上篇文章写的一个中断操作变量的问题,鱼鹰帮忙回复了,大家可以再看看这篇文章。好友让我看这段代码CM3位带操作如果存储器系统支持“锁定传送”( lockedtransfers),或者总线上只有一个主机&#xff…

LeetCode872. Leaf-Similar Trees

自己的代码: # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right Noneclass Solution:def allNode(self,root):listNode[]if Not root:return ListNode…

CCScene切换的所有特效(28种)以及设置屏幕横竖屏!

CCScene 对于使用cocos2d的童鞋肯定很熟悉,那么在使用 CCScene *s [CCScenenode];[s addChild: [restartAction() node]];[[CCDirectorsharedDirector]replaceScene:s]; 对scene进行场景(CCLayout)进行切换时,cocos2d提供了一…

关于MySqlConnection的一个特殊异常

最近给一个客户做一个项目,其中要与另外一个系统进行数据交换,而那个系统使用的是MySql,因此,从网上下载了一个MySql Connector,由于以前没有用过MySql,而且这个MySql服务器位于互联网上,因此&a…