英文原文:https://blog.nelhage.com/post/reflections-on-performance/
在职业生涯中,我至少参加了三个对软件性能表现有一定要求的项目,它们分别是Livegrep、Taktician和Sorbet。此外,我还对正使用的工具做了许多提升性能的工作。
一、性能是软件的一个重要特性
我很赞同这样一个观点,即软件性能不是独立于软件功能或软件特性集合的一个属性。性能(尤其是指能显著提升速度的性能)本身就是软件的一项功能,它从根本上改变了一个软件工具的使用和感知方式。
在推出Sorbet后,我们从Stripe工程师那里得到大量反馈和赞赏,因为这个软件工具的性能非常优越。
与之前缓慢的工具软件使用体验相比,开发人员真正体会到用高性能软件带来的快感(例如,对Stripe的代码库进行类型检查,Sorbet从冷启动加载都会比Ruby正常加载要快,更不用说执行其他代码,在我看来,这是Ruby生态不太好的地方)。
我认为性能的价值在普遍意义上非常容易理解——许多工程师都知道并经常讨论响应时间感知阈值或 延迟对转换率的影响——但能真正理解性能内在含义的人实际上很少,大部分只是纸上谈兵。最近感觉抱怨软件运行速度缓慢的人很多,但是也很少有团队可以为此做些什么,以至于工具的性能变得越来越慢。
原文链接:【https://www.infoq.cn/article/2xBCHuSjb13UCQAISqOU】。未经作者许可,禁止转载。