Wenn zum Beispiel der Code unter einem Mikroskop betrachtet wird, benötigt dieser erste Codeblock mehr Rechenzeit als der zweite Codeblock?Java 8 - Benötigt es mehr Ressourcen für viele Methoden?
Codeblock 1:
method1() {
do something;
call method2;
}
method2() {
do something simple like assign a variable value;
}
Codeblock 2:
method1(){
do something;
do something simple like assign a variable value;
}
Ziemlich einfach, aber ich bin auf der Suche, um zu sehen, ob jemand hier weiß, was der Wert ist dies bei der Prüfung (zB Optimierung ein Programm für minimale Rechenzeit). Als Beispiel habe ich gelernt, dass Gatter in einer Schaltung eine endliche "Delta-Verzögerung" haben, in der es möglich ist, zu addieren, um die maximale Verzögerung zu sehen, die die Schaltung haben wird, wenn die Taktgeschwindigkeit in dem Entwurf berücksichtigt wird. Hat Java etwas Ähnliches wie die Delta-Verzögerung?
Verschwenden Sie keine Zeit damit, sich Sorgen zu machen, bis Sie durch Benchmarking beweisen können, dass dies das bedeutendste Leistungsproblem ist, das Sie haben. Der JIT wird Inline-Methoden verwenden, wenn er feststellt, dass dies besser ist. Sie sollten sich darauf konzentrieren, lesbaren, wartbaren Code zu schreiben. –
Sie können Leistung tatsächlich erzielen, indem Sie kurze Methoden verwenden. Sobald ich eine sehr lange Methode manuell geteilt habe und 40% Geschwindigkeit gewonnen habe. Das JIT kann Inline-Methoden, aber keine "Outline" -Methoden verwenden, so dass Lesbarkeit und Leistung oft positiv korreliert sind. – maaartinus