たとえば、顕微鏡でコードを見ると、この最初のコードブロックは2番目のコードブロックよりも計算時間が長くなりますか?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;
}
かなりシンプルですが、私はここで誰もが価値がこれを考慮しているかを知っているかどうかを確認するために探しています(たとえば、最適化最小の計算時間のためのプログラム)。
例として、回路のゲートには有限の「デルタ遅延」があり、回路のクロック速度を設計時に考慮する最大遅延を見積もることができます。 Javaにはデルタ遅延と同様のものがありますか?
これが最も重大なパフォーマンス上の問題であることをベンチマークすることによって証明できるまで、時間を無駄にしないでください。より良いと判断した場合、JITはメソッドをインライン展開します。読みやすくメンテナンス可能なコードを書くことに焦点を当てるべきです。 –
実際に短い方法を使用してパフォーマンスを得ることができます。一度私は非常に長いメソッドを手動で分割し、40%のスピードを得ました。 JITはメソッドをインライン化できますが、メソッドのアウトライン化はできません。したがって、可読性とパフォーマンスはしばしば確実に相関します。 – maaartinus