Ich entwickle eine Bildverarbeitung Java 7u80-Anwendung mit C++ - Bibliotheken über JNI.Java 8 Leistung VS. Java 7
Da ich mit Java 8u60 zu execute streams in parallel bereit war, wechselte ich einfach zu JDK 8 und startete alle meine Komponententests neu.
Java 8u60 Overall duration: **35'408 [ms]**
Java 7u80 Overall duration: **29'581 [ms]**
Java 7 ist in meinem Fall 17% schneller als Java 8 (gleicher Code, Code-Ebene resp. 7 und 8).
- Ich frage mich, ob solche Ergebnisse für meine Anwendung spezifisch sein können oder wenn andere bereits eine Herabstufung der Leistungsform Java 7 auf 8 bemerken?
- Gibt es eine besondere Optimierung im Code, um das Beste aus Java 8 zu erhalten?
Wenn nichts getan werden kann, würde ich dann implementieren eher die Multithreading-Code mit Java 7 statt 8, die Performance-Gewinn zu halten ich mit Java haben bereits 7.
parallele Ströme verwendet, wird langsamer sein, wenn richtig eingesetzt. Angenommen, Ihre Unit-Tests laufen nicht [jmh] (http://openjdk.java.net/projects/code-tools/jmh/), können Sie die Zahlen vollständig ignorieren. –
@BoristheSpider Ich glaube, der OP hat noch keinen Stream benutzt, er hat nur den Wechsel der JDK-Version gemacht und sofort die Änderung der Gesamtdauer bemerkt. –
@ Jean-FrançoisSavard in diesem Fall gilt nur der zweite Teil meines Kommentars. –