Domanda [Benchmark] Java 8 vs Java 7 vs Java 6

Stato
Discussione chiusa ad ulteriori risposte.

Berserkr

Utente Silver
1 Agosto 2014
235
16
35
99
Ultima modifica:
Sto cercando diversi benchmark per il java per vedere come si è evoluto ed né ho trovati due. Tuttavia, né posto uno in quanto nell'altro risulta leggermente più lento il Java 8 poiché chi l'ha fatto non ha preso in considerazione un cambiamento interno della jvm che ha reso il codice molto più stabile e sicuro. Quindi, non è valido come benchmark per rilevare le differenze di prestazioni. Comunque sia, man mano che né trovo altri li posterò per puro scopo informativo (ovviamente, se né avete anche voi da linkare, linkate).

1° articolo: OptaPlanner - How much faster is Java 8?
2° Articolo: Is Java 8 the fastest JVM ever? | zeroturnaround.com
 
Ultima modifica da un moderatore:
Analizzare le performance delle varie JDK ha un'utilita' molto limitata: si puo' sempre cambiare vm (ad esempio jrockit).

La differenza tra le versioni del JDK e' legata fondamentalmente alle estensioni del linguaggio. Si, ci sono ottimizzazioni interne, ma non le classificherei come fondamentali.

Neanche le estensioni della libreria standard sono significative: sono librerie, e quindi potenzialmente disponibili per qualunque versione. E se non lo sono, partendo dai sorgenti si puo' sempre fare un backporting.

Invece, se vuoi mostrare dei benchmark, confronta, o trova i confronti tra, le diverse implementazioni della VM: Sun/Oracle, Jrockit, IBM (se c'e' ancora), e quella di Apache.
Controlla anche se non ci sono nuove new entry ...

Considera che un miglioramento di qualche % non e' molto interessante.

E neanche miglioramenti su un'unica applicazione (come B1 del link).

Ad esempio, ora Java8 supporta un po' di calcolo vettoriale: quello che prima veniva fatto con un ciclo, ora puo' essere fatto in modo piu' efficiente. Questo rende Java8 piu' veloce? No!
Si poteva fare prima? Certamente, con un po' di JNI!
Il fatto che qualcosa sia disponibile in JavaY, non vuoi dire che con JavaX non si poteva fare! Solo che lo si doveva implementare da se, invece di attendere il team Java.
 
Stato
Discussione chiusa ad ulteriori risposte.