首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免“开发人员糟糕的优化直觉”?

如何避免“开发人员糟糕的优化直觉”?
EN

Software Engineering用户
提问于 2011-08-22 15:47:00
回答 10查看 1.9K关注 0票数 22

我在文章上看到了这样的说法:

开发人员喜欢优化代码,并且有充分的理由。它是如此的满足和乐趣。但是知道什么时候进行优化要重要得多。不幸的是,开发人员通常对应用程序中的性能问题的实际位置有可怕的直觉。

开发人员如何避免这种糟糕的直觉?是否有很好的工具可以找到代码的哪些部分真正需要优化(对于Java)?你知道关于这个问题的一些文章、建议或好的读物吗?

EN

回答 10

Software Engineering用户

回答已采纳

发布于 2011-08-22 15:51:42

  • 使用一个好的分析器来确定昂贵的方法。
  • 记录下这些热点实际花费了多长时间。
  • 编写一个更快的热点实现
  • 记录这些热点现在需要多长时间,希望不再成为热点。

从本质上说,你需要能够向别人证明问题出在哪里,而这一变化使问题消失了。

由于不能证明是一种改进,我个人认为有资格立即回滚到原来的版本。

票数 46
EN

Software Engineering用户

发布于 2011-08-22 15:51:40

了解优化位置的唯一方法是分析代码。与其做出您认为会带来好处的更改,不如确定性能最差的代码在哪里,然后从那里开始。

Java使VisualVM工具变得非常简单,它已经与Java (JDK)的最新版本捆绑在一起。这样做的目的是找出哪些方法被称为最常用的方法,哪些方法在代码中和外部库中花费的时间最多。您还可以获得垃圾收集方面的性能数据,以便调整收集器并调整应用程序所需的最小/最大堆空间。

票数 10
EN

Software Engineering用户

发布于 2011-08-25 04:41:08

由于这里的任何人都在谈论分析器,我将集中讨论问题的这一部分。

开发人员如何避免这种糟糕的直觉?

你。做。不。相反,你从来没有提前优化过。

重复一遍又一遍,因为这是一个宗教的咒语。

你会发现自己这样做,并会发现你不应该这样做。

再来一次。

一遍又一遍。

早期优化是程序员的资本罪恶之一。

工具和材料是后面的优化的一部分,这是一个既定的工艺。

票数 10
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/102869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档