OpenJDK 14 son zamanlarda GA olmuştur ve performansı iyileştirip iyileştirmediği ve hangi iyileştirmeler birçok geliştiricinin dikkatini çekmiştir. Bu makale, OpenJDK 8'den 14'e kadar tüm büyük sürümleri incelemek için yeni karşılaştırmalar çalıştırmayı, aynı zamanda JVM'nin performansını birden çok iş yükünde ve OpenJDK 14'ün JVM'nin önceki sürümleriyle nasıl karşılaştırdığını inceleyecektir.
Bu test, test edilen her sürümde aynı Java bayt kodu ile derlenen Java programlarını kullanarak JVM'nin performansını kontrol eder ve test edilen yazılım paketinin referans / yukarı akış derlenmiş sürümünü kullanır. Teste müdahale eden faktörlerin en aza indirilmesini sağlamak için her seferinde aynı seçenekler kullanılır ve her sürümü test etmek için kullanılan OpenJDK x86_64 Linux yapılarını değiştirmek dışında herhangi bir değişiklik yapılmaz.
Phoronix'in test paketini kullanan test içeriği, SPECjbb'den Java 2D iş yüklerine kadar her şeyi kapsar.
Test ortamı ve test makinesi yapılandırması:
Öncelikle, Java grafik ardışık düzeninin performansını basınç testi yapmak için Java 2D kıyaslama testini kullanarak, metin oluşturma performansının 12. baskı en yüksek noktaya ulaşana kadar istikrarlı bir şekilde arttığını ve ardından kademeli olarak OpenJDK 8 ile karşılaştırıldığında mevcut 13 ve 14 düzeyine düştüğünü görebilirsiniz. benzer.
Java 2D görüntü işleme performansı açısından seviyeleri temelde aynıdır, ancak OpenJDK 14, zayıf performans avantajı ile en iyi performansa sahip olan haline gelmiştir.
Vektör grafikleri kullanarak oluşturma efekti burada da test edilir ve seviye temelde aynıdır.
Çok basit bir Java SciMark mikro-kıyaslama testi yaparak, OpenJDK 8'in şimdiye kadarki en hızlı olduğunu ve OpenJDK 9-14'ten beri performansın temelde aynı olduğunu görebilirsiniz. OpenJDK'nin çalışma hızı OpenJDK 8'in yaklaşık% 88'i kadardır.
Test için Java Bork dosya şifreleme yazılım paketini kullanarak, test edilen sürümde, temelde performansta bir değişiklik olmaz.
OpenJDK 8'den bu yana DaCapo'nun H2 kıyaslaması, JDBCbench'e benzer bir bellek içi kıyaslama olarak modellenmiştir ve performansı büyük ölçüde iyileştirilmiştir.Önceki sürümle karşılaştırıldığında, OpenJDK 14 bir kez daha zayıf bir avantaj elde etti Birinciliği kazandı.
Gördüğünüz gibi, Python Pybench'e dayalı Jython kıyaslaması, OpenJDK 8'in en iyi sonuçlara sahip olduğu birçok durumdan biridir.
Daytrader benchmarkını çalıştıran Tradebeans testinde, OpenJDK 14 bir kez daha hafif bir avantajla en iyi sonucu kazandı.
Tıpkı masa tenisi oynamak gibi, Renaissance'ın Scala Dotty benchmark testi de OpenJDK performansının dalgalanacağını gösteren benzer bir örnek sunuyor. Bu testte OpenJDK 14, en son sürümden daha iyidir.
Diğer bazı Rönesans kıyaslama testlerinde, OpenJDK 11 ~ 12'nin performansı en kötüsüdür ve OpenJDK 14'ün sağladığı performans OpenJDK 8'inkine benzer.
Jenetics + Futures genetik algoritmasını kullanan Rönesans kıyaslama testinde, tüm versiyonların performansı temelde aynıdır.
Apache HBase kullanarak bu kıyaslama testlerini gözlemleyerek, OpenJDK 8'in en hızlı çalıştığını veya bu Java sürümlerinin performansının temelde aynı olduğunu görebiliriz.
SPECjbb ile gerçekleştirilen karşılaştırma testinde OpenJDK 8, açık arayla en hızlı ve önemli ölçüde ayrı versiyondur. Sürüm 11'den bu yana, OpenJDK'nin SPECjbb'sinin performansı iyileştirildi, ancak Ubuntu Linux çalıştıran AMD Ryzen 93950X sistemlerinde herhangi bir sürümün hızı OpenJDK 8'in hızına ulaşmadı.
sonuç olarak:
Gerçekleştirilen tüm Java benchmark sonuçlarının geometrik ortalamasını alırken, OpenJDK 8 şüphesiz en hızlı Java sürümüdür. Sektör, OpenJDK 8'in hala en iyi performansı sağladığına ve bu kadar çok seçenek varken neden Intelin Clear Linuxunun bu sürüme bağlı kaldığına ilişkin haberleri sık sık duyar. Bu makalenin test sonuçlarına bakıldığında, bu şaşırtıcı değil.
İyi haber şu ki, bu geometrik anlamda OpenJDK 14, test edilen sürümler arasında en hızlı ikinci sürümdür. Önceki versiyonla karşılaştırıldığında, liderliği küçüktür, ancak genel olarak hala ilerleme kaydetmektedir.
Makale OSCHINA topluluğundan yeniden üretilmiştir
Yeniden yazdırma adresi: www.oschina.net/news/114247/openjdk-14-n-8-benchmark