方法名称长度是否对性能有任何影响?

ERN*_*RON 12 java performance profiling pmd

我是高级开发人员,所以这对我来说是一个愚蠢的问题.我的回答应该是NO,或者是什么?没有!!!

但我昨天正在开会,我正在解释一些PMD结果.当我们得到"太长的方法名称"问题时,我开始解释并且客户说:好吧,并记住一个长方法名称对性能有影响,程序运行速度较慢.

我说:不,你错了,只是一个干净的代码规则,并且获得一个好的代码很重要,但与性能无关,字节码与不同的名称相似.

但客户,会议中有一些人在此争论,对此肯定.他们有一些项目,因为长的方法名称是导致性能不佳的原因.

我唯一的想法是,一些内省或反思的事情与此有关,但除此之外,我确信,或者我认为我当然,方法名称长度没有任何性能影响.

对此有何想法或建议?

Jon*_*eet 19

可以说它会在内存和存储空间中占用更多空间 - 因此,包含具有巨大方法名称的类的jar文件将大于具有短类名的类.

然而,在性能上有什么区别是令人难以置信不太明显.我认为几乎可以肯定的是,他们因为表现不佳而将长方法名称归咎的项目实际上被误诊了.这不是第一次发生这种情况.

当然,从这种情况中获取热量的最佳方法是提供证据 - 如果性能很重要,您应该对性能进行测试.使用长方法名称运行这些测试,然后将它们重构为简短的方法名称并重新运行测试.如果存在显着差异,我会感到非常惊讶.

  • @pjj:是的,但是方法名称仍将是类文件的一部分,因此它们将增加磁盘上文件的大小以及加载这些类时所需的内存量。字节码*确实*维护字段名称,但不维护局部变量。您可以通过反射访问字段来说明这一点-但无论如何,这个问题都是关于*方法*名称的,而且它们还是用字节码维护的。 (2认同)