Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 绩效总是很重要吗?_Performance_Optimization - Fatal编程技术网

Performance 绩效总是很重要吗?

Performance 绩效总是很重要吗?,performance,optimization,Performance,Optimization,因为我是一个独立的开发人员,所以我必须考虑我正在开发的系统的各个方面。最近我一直在思考我的两个网站的性能,以及如何改进它。像StackOverflow这样的网站宣称,“性能是一项功能。”然而,“过早优化是万恶之源”,我的客户中还没有人抱怨过网站的性能 我的问题是,绩效总是很重要吗?性能应该始终是一项功能吗 注:我不认为这个问题和海报在考虑什么时候的表现是一样的,我问这个问题的答案是否总是,如果是的话,为什么。我也不认为这个问题应该是CW,因为我相信这个答案是有道理的。充分的性能总是很重要的 绝对

因为我是一个独立的开发人员,所以我必须考虑我正在开发的系统的各个方面。最近我一直在思考我的两个网站的性能,以及如何改进它。像StackOverflow这样的网站宣称,“性能是一项功能。”然而,“过早优化是万恶之源”,我的客户中还没有人抱怨过网站的性能

我的问题是,绩效总是很重要吗?性能应该始终是一项功能吗

注:我不认为这个问题和海报在考虑什么时候的表现是一样的,我问这个问题的答案是否总是,如果是的话,为什么。我也不认为这个问题应该是CW,因为我相信这个答案是有道理的。

充分的性能总是很重要的

绝对最快的性能几乎从来都不重要

始终值得关注性能,并意识到您正在做的任何异常非最优的事情(特别是在设计/架构级别),但这与微优化每一行代码不同

杰克逊的优化规则:

规则1。不要这样做

规则2(仅限专家)。不要这样做 然而,也就是说,除非你有一个 非常清晰且未优化 解决方案

-杰克逊文学硕士


摘自《代码全集》第二版。

性能的重要性主要取决于您所做的工作

例如,如果您编写了一个可以在任何环境中使用的库,那么这几乎不会有太多的性能。在某些环境中,10%的性能优势可能是库的主要功能

如果你,OTOH,写一个应用程序,总有一点是足够快的。用户既不会意识到也不会关心按下的按钮是否会在0.05秒或0.2秒内做出反应,即使这是4的一个因素


然而,更快地获得工作代码总是比快速工作代码容易的多

性能!=优化

性能确实是一项功能,但过早优化会耗费您的时间,并且不会产生与优化需要优化的零件时相同的结果。在你真正能够分析某些东西之前,你无法真正知道哪些部分需要优化

性能是一个特性,如果它丢失了,你的客户不会告诉你,除非它真的非常慢,而且他们被迫使用你的产品。现有客户最终可能会报告,但如果需要性能,新客户根本不会麻烦


您需要知道您需要什么样的性能,并将其作为一个需求来制定。然后,您必须满足您自己的要求。

只有在开发性能改进所需的时间少于为用户节省的总时间的情况下,性能才是重要的

结果是,如果你正在为数百万人开发一些东西。。。是的,节省他们的时间很重要。如果你正在为自己使用的工具编写代码。。。这可能比节省一分钟甚至一个小时或更多的时间更麻烦


(这显然不是一成不变的规则……有时,性能确实至关重要,无论它需要多少开发时间)

一切都应该平衡。例如,成本(或开发时间)与性能。更高的性能=更高的成本。如果所构建系统的要求是高性能,那么成本应该无关紧要,但是如果成本是一个因素,那么您可以在合理的范围内进行优化。一段时间后,你的投资回报会受到影响,因为更多的表现不会带来更多的回报。

表现的重要性与你的问题集高度相关。如果您在创建一个站点时预期会有很重的负载和大量的服务器端处理,那么您可能需要在性能上投入更多的时间(否则您的站点可能最终无法使用)。然而,对于大多数应用程序来说,花在优化网站性能上的时间是不会有回报的——用户不会注意到差异

所以我想它可以分解为:

用户会注意到这些改进吗? 与竞争对手相比,这一改进如何


如果用户会注意到,改进将足以使您从竞争对手中脱颖而出-性能是一个重要的特性-否则就不那么重要了。(在某种程度上——我不建议完全忽略它——毕竟你不希望你的站点继续运行)。

在大多数应用程序中,90%或更多的执行时间花费在10%或更少的代码中。通常,除了这10%之外,优化其他代码几乎没有什么用处。

记住性能但是考虑到您的情况,在前面花费太多时间是不明智的

性能很重要,但通常很难知道瓶颈在哪里。因此,我建议,一旦你有了一些东西可以使用,就计划花一些时间来使用这个功能

因此,您需要设置对您的客户和您都很重要的指标。保存并分析这些测量值。然后估计执行每个步骤需要多长时间和多少时间。现在,你可以为自己争取更多的钱/时间


如果是web,最好使用Firebug+yslow和/或google页面速度来记录页面大小和性能。同样,要知道什么适用于像你这样的小网站,以及只适用于雅虎和谷歌的东西。

要对一个一般性问题给出一个概括的答案:

首先让它工作,然后让它正确,然后让它快速

这为“过早优化是万恶之源”提供了更具建设性的观点

因此,与J平行