Während der Überprüfung stieß ich auf einen Code, der eine Mischung aus Integer und int ist. Für einen Moment dachte ich, dass es kein Problem geben würde, da es durch automatisches Boxen konvertiert werden würde, aber ich fragte mich, wie die Leistung war, also würde ich es gerne überprüfen.
** 1. Muster mit einer Mischung aus Referenztypen und primitiven Typen **
qiita.java
long begin = 0L;
long end = 0L;
begin = System.currentTimeMillis();
Integer sum = 0;
for(int i = 0; i < 1000000; i++) {
sum += i;
}
end = System.currentTimeMillis();
System.out.println(end - begin + "Millisekunde");
** 2. Nur primitives Muster **
qiita.java
long begin = 0L;
long end = 0L;
begin = System.currentTimeMillis();
int sum = 0;
for(int i = 0; i < 1000000; i++) {
sum += i;
}
end = System.currentTimeMillis();
System.out.println(end - begin + "Millisekunde");
** 1. Muster mit einer Mischung aus Referenztypen und primitiven Typen **
** 2. Nur primitives Muster **
Ein Muster mit gemischtem Referenztyp und primitivem Typ betrug durchschnittlich 15,33 Millisekunden, während ein Muster nur mit primitivem Typ durchschnittlich 4,33 Millisekunden betrug. Es ist ersichtlich, dass es ungefähr viermal so lange dauert, wenn Autoboxing mit einer Mischung aus Referenztypen und primitiven Typen arbeitet. Es stellt sich heraus, dass es nicht sinnlos automatisch verpackt werden sollte, abhängig von der Anzahl der Daten, bei denen es sich um einen Staubhaufen handelt.
Wir sehen uns wieder (^_^) Noshi
Recommended Posts