有一个大的方法名称会增加延迟吗



较长的方法名称在调用时会增加延迟吗?经过长时间的通话后,这是一个明显的影响吗?

不,方法名称与性能无关。顺便说一句,JVM不使用名称来调用方法,而是使用它的符号链接,它指向常量池中的方法名称。
invokestatic  #2 //Method fn:()V

因此,即使是byte-code也不会因为冗长的方法名称而变得过于臃肿。

否。方法名称的长度没有什么区别。

不过,你使用的是一种方法。方法越多,开销就越多。这就是我们为更干净、更可维护的代码所付出的代价。

只是为了它:从这个"微观"的角度切入"性能"时要小心。

当然,了解在源代码中使用不同方法的效果是一件好事(以避免"愚蠢的错误")。

但效率和性能往往被"过于优先"。通常,当您专注于创建一个干净、可维护的设计时,结果将具有"足够好的性能"。如果没有;一个干净、可维护的设计比一个混乱的设计更容易改变。

请记住:

"我们应该忘记小效率,比如说97%的时间:过早优化是万恶之源。"我同意这一点。在性能瓶颈出现之前,通常不值得花费大量时间对代码进行微观优化。但是,反过来说,在系统级别设计软件时,从一开始就应该考虑性能问题。一个优秀的软件开发人员会自动做到这一点,因为他已经对性能问题会导致问题的地方有了一种感觉。一个缺乏经验的开发人员不会麻烦,错误地认为在后期进行一点微调就能解决任何问题。"

霍尔和克努思真正想说的是,软件工程师在担心微观优化(如特定语句消耗多少CPU周期)之前,应该先担心其他问题(如良好的算法设计和这些算法的良好实现)

从这里

最新更新