Wirth 定律:软件变慢的速度比硬件变快的速度更快!

来源:互联网 发布:poi数据是什么 编辑:程序博客网 时间:2024/04/30 09:27

软件产品通常有性能约束。例如,一则性能约束如下:“当用户点击确认按钮之后,系统必须在3秒内计算出用户所需缴纳的个人所得税值。”在当前的业界,因为硬件性能的大幅提升,大多数软件工程师都不再像过去那般地认真考虑算法设计和程序运行效率,故而导致软件运行性能持续走低。诚如大师Niklaus Wirth所言,“当前软件变慢的速度比硬件变快的速度更快”。这就是所谓的“Wirth定律”。事实表明,这条定律广泛存在于当前业界的工程师实践中。主要原因有二,简述如下: 


其一,客户为了产品能够吸引更多的用户,往往希望软件系统能够为用户提供任何他们想要的功能。某些客户甚至认为只有具备足够复杂功能的软件产品才能值回他们的高昂投资。客户的这种意识刺激工程方开发大量意义甚微的软件功能和各种花哨的用户界面,以博取客户的立项协议和满意度。这实际上显著增长了软件的规模和复杂度。

 

其二,当前的软件开发实践似乎都理所当然地假定硬件的性能都足够强大(如处理器足够快和内存足够大等)。故而,设计师和程序员不再在软件设计和构造的过程中如以往那般认真考虑硬件的约束,所使用的算法和数据结构也通常不再以追求运行效率为至上目标。由此,现今的软件系统的性能正相对地被降低。


虽然当前的“强大”硬件支撑确实放宽了对性能设计的要求,但并不允许设计师因此而“随意挥霍”硬件和系统资源。基于此,李大牛在此告诫软件工程师特别是设计师,在重视产品功能和界面的同时,不要忽视实际性能。过低的性能势必降低产品的用户满意度。

0 0
原创粉丝点击