4 ms·
Shenandoah GC: What We Know in 2018 [video]
- exabrial 8y agoI wonder if anyone has started work on applying machine learning to gc yet?
- sorokod 8y agoNot ML, but the jmh framework has a toy example where a genetic algorithm is used to tweak runtime parameters. Edit, here it is: http://hg.openjdk.java.net/code-tools/jmh/file/3769055ad883/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_25_API_GA.java http://hg.openjdk.java.net/code-tools/jmh/file/3769055ad883/...
- jhomedall 8y agoBuried in a slide @ https://youtu.be/qBQtbkmURiQ?t=766 https://youtu.be/qBQtbkmURiQ?t=766: You can try an in-development version of the GC with the 'shipilev/openjdk-shenandoah' Docker image (https://hub.docker.com/r/shipilev/openjdk-shenandoah/ https://hub.docker.com/r/shipilev/openjdk-shenandoah/). Run the contained Java executable with -XX:+UseShenandoahGC
- mikevm 8y agoHow does Shenandoah compare to ZGC? Aren't they in direct competition with one another?
- needusername 8y agoFrom what I understand the goals are similar but the approaches are different. - Shenandoah uses Brooks-style forward pointers whereas ZGC uses colored pointers and off-heap forwarding tables. Meaning Shenandoah has a bigger impact on heap footprint but less offheap data meaning the heap size is closer to the RSS. - Shenandoah runs on Windows and macOS if you build from source, AFAIK this is a non-goal for ZGC. - Shenandoah tries to return unused heap to the OS wheres currently the recommendation for ZGC seems to be -Xms == -Xmx. In addition ZGC tripple maps the heap which can lead to interesting challenges in resource usage accounting. - None of them are generational although Shenandoah allows for custom policies and has short cuts if you application is young-only.