例如,在显微镜下查看代码时,第一个代码块的计算时间是否比第二个代码块的计算时间多?Java 8 - 是否消耗更多资源以拥有多种方法?
代码块1:
method1() {
do something;
call method2;
}
method2() {
do something simple like assign a variable value;
}
代码块2:
method1(){
do something;
do something simple like assign a variable value;
}
很简单,但我想看看是否有人在这里知道值在考虑这个东西(如优化一个计算时间最短的程序)。作为一个例子,我了解到电路中的门电路有一个有限的“Delta延迟”,在这个延迟中,可以合计看出电路在考虑设计中的时钟速度时所具有的最大延迟。 Java是否有类似Delta延迟?
不要浪费你的时间担心这一点,直到你可以通过基准测试来证明这是你最重要的性能问题。如果JIT认为更好,JIT将内联;你应该专注于编写可读,可维护的代码。 –
您可能实际上通过使用简短的方法获得了性能。一旦我手动分割一个非常长的方法,并获得40%的速度。 JIT可以内联,但不是“轮廓”方法,所以可读性和性能往往是正相关的。 – maaartinus