看板 Soft_Job 關於我們 聯絡資訊
看到有人提到GC跟Java 稍微聊一下之前看到的東西 沒打算解釋GC的運作原理 有興趣可以買Richard Jonse的 GC handbook 或著《垃圾回收的算法與實現》 (這本是日本人寫的,若水堂買得到簡體翻譯) 目前市面上有兩個聲勢比較大,號稱"pauseless"的Java GC 一個是Red Hat的 Shenandoah: https://dl.acm.org/citation.cfm?id=2972210 https://wiki.openjdk.java.net/display/shenandoah/Main 一個是 Azul的 C4: https://dl.acm.org/citation.cfm?id=1993491 然而跟「無糖飲料」其實是「每一百毫升糖含量小於零點五克」 這樣的概念類似,"pauseless"是相對過去而言pause次數非常少的意思 再者,pauseless也不是有了就像喝了蠻牛 因為不用stop-the-world休息就順順順,從此電爆別人 根據Christine Flood在2017年的演講: https://youtu.be/AAiB3fDwyRM?t=8m45s
在她自己的Elasticsearch的benchmark, 其實還比現在的OpenJDK開成default的G1慢一點點 那是因為,為了減少VM pause次數 資料結構有引進indirect pointer 導致reference的速度有下降 這點他們還在想辦法優化中 (不過後面LRU test時,Shenandoah有比較快一點) 另外一個問題是Shenandoah目前還沒被正式收錄, 只有fedora跟RHEL的repo有編進去 要用需在跑java時多下參數: -XX:+UseShenandoahGC 至於用其他Linux distro的,就得自己按照上面wiki的教學自己編了 Azul Zing VM的C4由於是closed source,我沒什麼太大的興趣去關注 據說有開放給開源專案的人去申請免費評估版本: https://www.azul.com/zing-oss-open-source-developer-access/ 板面上如果有什麼大開源計畫的main developers,搞不好可以丟個信問問看 我比較有印象的是: 他們一開始的作法需要特製化的Linux Kernel、以及一些特殊硬體支援 後來好像變成可以傳軟體、沒改過的Linux了 但是至於效果如何,就沒研究了(伸手黨求第一手benchmark數據) -- Linux is the bone of my world. Kernel is mybody, and initramfs is myblood, have created over a thousand Distros. Unknown to impossibility. Nor known to limitation. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.167.181 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1513488451.A.3AB.html ※ 編輯: snaketsai (140.113.167.181), 12/17/2017 13:37:45
pttuser: 不錯喔,推 12/17 18:12
lukelove: 清流 12/24 19:16