Java 8快多少?
生活随笔
收集整理的這篇文章主要介紹了
Java 8快多少?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java SE 8已于昨天發(fā)布 。 傳統(tǒng)上,每個(gè)新的主要JRE版本都提供免費(fèi)的性能提升。 我們還能再得到免費(fèi)的午餐嗎? 這次收益有多大?
讓我們對其進(jìn)行基準(zhǔn)測試。
基準(zhǔn)方法
- 使用3個(gè)不同的JRE版本(SunJDK 1.6.0_26 ,OpenJDK 1.7.0_51和OpenJDK 1.8.0 )運(yùn)行相同的代碼。 該代碼本身是為Java 6編寫的(在語法和JDK API的用法上),并為帶有OpenJDK 1.7的Java 6進(jìn)行了編譯。
- 每次運(yùn)行大約需要55分鐘。
- VM參數(shù): -Xmx1536M -server
軟體: Linux 3.2.0-59-generic-pae
硬件: Intel? Xeon? CPU W3550 @ 3.07GHz - 每次運(yùn)行都能使用OptaPlanner解決13個(gè)計(jì)劃問題。 每個(gè)計(jì)劃問題需要運(yùn)行5到幾分鐘。 并行解決多達(dá)2個(gè)計(jì)劃問題。
- 解決計(jì)劃問題不涉及任何IO (啟動(dòng)期間要加載輸入的時(shí)間只有幾毫秒)。 一個(gè)CPU完全飽和。 它會(huì)不斷創(chuàng)建許多短命的對象,然后GC會(huì)收集它們。
- 基準(zhǔn)衡量每毫秒可以計(jì)算的分?jǐn)?shù)數(shù)量。 越高越好。 為擬議的規(guī)劃解決方案計(jì)算分?jǐn)?shù)并非易事:涉及許多計(jì)算,包括檢查每個(gè)實(shí)體與每個(gè)其他實(shí)體之間的沖突。
要在本地重現(xiàn)此基準(zhǔn), 請從源代碼構(gòu)建optaplanner并運(yùn)行主類GeneralOptaPlannerBenchmarkApp 。
基準(zhǔn)結(jié)果
執(zhí)行摘要
我的觀察:
- 在最大的數(shù)據(jù)集(Machine Reassignment B10)上,其他任何數(shù)據(jù)集的大小都相形見,, Java 8比Java 7快20% ,已經(jīng)比Java 6快17% 。
- 在某些情況下,Java 8的速度比Java 7慢。特別是對于課程安排數(shù)據(jù)集,Java 8的速度比Java 7慢6% 。希望Java 8的新版本能盡快解決此性能6%問題。
- 平均而言,Java 8僅比Java 7快1% 。而Java 7已經(jīng)比Java 6快16% 。
- 盡管這是OpenJDK 8的第一個(gè)最終版本,但我在Java 8中沒有發(fā)現(xiàn)任何回歸。OptaPlanner的示例是100%可再現(xiàn)的,因此,正如預(yù)期的那樣,不同的JRE在每次迭代中給出的結(jié)果完全相同。
原始基準(zhǔn)數(shù)字
| SunJDK 1.6.0_26 | 46462 | 44963 | 94567 | 28655 | 5473 | 6989 | 6954 | 3785 | 3232 | 2948 | 1977年 |
| OpenJDK 1.7.0_51 | 53683 | 49798 | 116553 | 33733 | 6182 | 7848 | 8243 | 4606 | 3645 | 3377 | 2445 |
| OpenJDK 1.8.0 | 54687 | 51625 | 135102 | 40529 | 5798 | 7357 | 8048 | 4441 | 3637 | 3324 | 2321 |
| 6?7 | 15.54% | 10.75% | 23.25% | 17.72% | 12.95% | 12.29% | 18.54% | 21.69% | 12.78% | 14.55% | 23.67% |
| 7?8 | 1.87% | 3.67% | 15.91% | 20.15% | -6.21% | -6.26% | -2.37% | -3.58% | -0.22% | -1.57% | -5.07% |
| 數(shù)據(jù)集規(guī)模 | 12萬 | 1920k | 50萬 | 250000k | 21.7萬 | 14.5萬 | 1705千 | 1613k | 18k | 12k | 4k |
結(jié)論
在大型數(shù)據(jù)集上,Java 8顯然更快。 而且這無需更改代碼行。 平均而言,結(jié)果令人信服(使用當(dāng)前版本),但始終歡迎免費(fèi)午餐。
翻譯自: https://www.javacodegeeks.com/2014/04/how-much-faster-is-java-8.html
總結(jié)
以上是生活随笔為你收集整理的Java 8快多少?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps4如何投影到笔记本电脑(ps4如何投
- 下一篇: Java比以往任何时候都摇滚