Categories
程式開發

写了多年软件,我在软件性能上学到的4点教训


写了多年软件,我在软件性能上学到的4点教训 1

英文原文:https://blog.nelhage.com/post/reflections-on-performance/

在职业生涯中,我至少参加了三个对软件性能表现有一定要求的项目,它们分别是LivegrepTakticianSorbet。此外,我还对正使用的工具做了许多提升性能的工作。

一、性能是软件的一个重要特性

我很赞同这样一个观点,即软件性能不是独立于软件功能或软件特性集合的一个属性。性能(尤其是指能显著提升速度的性能)本身就是软件的一项功能,它从根本上改变了一个软件工具的使用和感知方式。

在推出Sorbet后,我们从Stripe工程师那里得到大量反馈和赞赏,因为这个软件工具的性能非常优越。

与之前缓慢的工具软件使用体验相比,开发人员真正体会到用高性能软件带来的快感(例如,对Stripe的代码库进行类型检查,Sorbet从冷启动加载都会比Ruby正常加载要快,更不用说执行其他代码,在我看来,这是Ruby生态不太好的地方)。

我认为性能的价值在普遍意义上非常容易理解——许多工程师都知道并经常讨论响应时间感知阈值延迟对转换率的影响——但能真正理解性能内在含义的人实际上很少,大部分只是纸上谈兵。最近感觉抱怨软件运行速度缓慢的人很多,但是也很少有团队可以为此做些什么,以至于工具的性能变得越来越慢。

原文链接:【https://www.infoq.cn/article/2xBCHuSjb13UCQAISqOU】。未经作者许可,禁止转载。