嗯,我知道我可以使用哪种工具来优化,分析等等……所以现在我知道我所有的瓶颈了。但我不能无限地优化它们。我的意思是?例如,我将spot A作为我的主要瓶颈,我应用了优化,之后CPU时间,内存时间等变得更小,但与整个项目相关的它仍然是瓶颈。我的意思是,在任何项目中,每一次都存在瓶颈,那么当我应该停止我的优化时,最后一点在哪里?
发布于 2012-06-27 21:34:02
假设您发现了一个“瓶颈”,当您修复它时,可以节省30%的时间。时间从10秒减少到7秒。
然后假设你找到了另一个,当你修复它时,节省了7s的30%,或2.1s。这样就把时间降到了4.9秒。
注意几件事。
事情就是这样发展的。在你真正陷入谷底之前,你总是可以让程序运行得更快,而那些一开始看起来无关紧要的问题在以后就变得有价值了。你最终得到的加速比可能会让你大吃一惊。
并不是所有的分析器都能发现所有问题。如果其中一个问题是您的分析器找不到的,那么您将达到一个点,即您认为您已经尽可能地优化了,但事实并非如此。
如果您想要超越这一点,您需要一种能够发现所有问题的分析技术。
发布于 2012-06-27 16:11:16
如果你的代码的某一部分造成了瓶颈,也许最好的做法是后退一步,看看整个画面,我指的是你的整体设计。有时候,摆脱的最好方法是重新考虑设计模式,这是解决瓶颈的不可能的方法。
这里有一些很好的资源
发布于 2012-06-27 16:13:05
在我看来,这取决于需求。如果用户正在等待几秒钟来加载页面,这是可以的。但如果用户在聊天时等待了几秒钟,则需要进行优化。当我登录到google时,需要5秒以上(很长),但之后会很快。但如果它需要相同的同时聊天,那么我会喜欢一些其他的电子邮件id。通常,需要在mysql、web服务、循环等方面进行优化。当有许多图像时,比如在google图像中搜索,这需要时间。用户可以等待它。转到页面,看看你自己,你在加载页面时的感受。它很长吗?如果它很长,那么你需要优化。
https://stackoverflow.com/questions/11221831
复制相似问题