优化代码

按照导师
科林墙

科林墙

发表于2020年5月18日

举起手来,谁愿意写最佳代码?如果你的手不起来,这意味着要么你有没有注意或者不是一个软件开发者。金宝博滚球专家没有人愿意写的次优码,不是吗?然而,这确实提出了一些问题。究竟是什么“最佳”意味着,你如何去实现呢?...

与许多价值判断,最优可能意味着不同的事情不同的人。作为电脑用户,我会说,在这种背景下,最优的代码是快速和可靠。速度是重要得多大小[在合理范围内。内存充足,所以尺寸仅为真的很重要,因为它可能会影响启动时间。我只是想上的东西。显然,每个人都想可靠的软件。金宝博滚球专家

随着嵌入式应用的优先级可能会有所不同。由于许多设备的速度是很重要的,但可能不会如此压倒性的。代码的代码大小可与现有的有限的资源是至关重要的。功耗是非常重要的,特别是与电池供电的设备。这增加了第三维的优化问题。同样,每个人都想要的嵌入式软件是可靠的。金宝博滚球专家

那么,我们如何去优化在特定环境中?

速度和规模:为了获得最快或最小码[或这两者之间的平衡点,有时是相反的力量]下降到编译器的优化。嵌入式编译器往往有过度优化广泛的控制。它几乎总是徒劳的尝试用C写更快/更小的代码;这是更好地让编译器完成其工作。有时,但相当罕见,更优化的代码可以用汇编语言编写,但这是以可维护性,可移植性和可靠性的成本。

功率:有许多能影响功耗的因素。从软件角度来看,快金宝博滚球专家速的代码将获得在给定的周期数,这使得可以使用较低功率的CPU做更多的工作。然而,快速的代码通常是较大的,这需要更多的存储器,这将消耗功率。需要一个平衡。电力需求是动态的,与正在执行的任务而变化。功耗管理最好通过使用RTOS与实现电源管理框架

可靠性:如果您使用质量好的开发工具,你应该能够承担他们产生可靠的输出 - 它只是依赖于源代码,他们处理。因此,编写可靠的代码是开发者的责任。这可以通过旨在不断地写代码简单,可读,可维护的方式来实现。如果您需要指导,然后按照旨在帮助产生可靠的代码的方法,如MISRA C.

底线是,没有人能说,有些代码是绝对意义上的最优。可以采取步骤,使之优化特定应用或环境。

更多博客文章

关于科林墙在Twitter上关注

科林墙我曾经在电子行业三十多年的经验,主要致力于嵌入式软件。金宝博滚球专家在会议和研讨会以及众多的技术文章和嵌入式软件两本书的作者一个常见的主持人,我是营销团队的Mentor Graphics嵌入式系统事业部的一员,和我在英国。金宝博滚球专家工作之余,我有广泛的兴趣爱好包括摄影,并试图指出我的两个女儿在人生正确的方向。了解更多关于科林,包括他去到卡拉OK歌曲和英国成为的最好的部分:http://go.mentor.com/3_acv

注释

对这个职位还没有人评论道。成为第一下面发表评论。

添加您的评论

请填写以下信息,意见或登入

你的邮箱不会被公开

档案


聊天室| 联系