Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon jaké jsou hlavní případy použití pro Shenandoah a ZGC


jaké jsou hlavní případy použití pro Shenandoah a ZGC


Hlavní případy použití pro Shenandoah a ZGC jsou:

Shenandoah GC:

1. Nízká latence: Shenandoah je navržen tak, aby minimalizoval doby pauzy tím, že většinu prací na sběru odpadu provádí souběžně s aplikací. To zajišťuje, že aplikace zůstane responzivní a funguje dobře i při velkém využití paměti.

2. Vysoká propustnost: Shenandoah je navržen tak, aby poskytoval vysokou propustnost minimalizací času stráveného sběrem odpadu. To zajišťuje, že aplikace může nadále efektivně běžet i při velkém využití paměti.

3. Velké haldy: Shenandoah je navržen tak, aby efektivně zpracovával velké haldy, takže je vhodný pro aplikace, které vyžadují velké alokace paměti.

4. Constant Allocation: Shenandoah je vhodný pro aplikace s neustálým přidělováním a používáním objektů, protože to dokáže efektivně zvládnout.

5. Starší objekty: Shenandoah je vhodný pro aplikace, kde jsou objekty starší a režie na vytváření nových objektů je malá, protože to dokáže efektivně zvládnout.

6. Použití kontejneru: Shenandoah lze použít v kontejnerovém prostředí, ale záleží na konkrétním případu použití.

ZGC:

1. Nízká latence: ZGC je navržena tak, aby minimalizovala doby pauzy tím, že většinu prací na sběru odpadu provádí souběžně s aplikací. To zajišťuje, že aplikace zůstane responzivní a funguje dobře i při velkém využití paměti.

2. Vysoká propustnost: ZGC je navržen tak, aby poskytoval vysokou propustnost minimalizací času stráveného sběrem odpadu. To zajišťuje, že aplikace může nadále efektivně běžet i při velkém využití paměti.

3. Velké haldy: ZGC je navrženo tak, aby efektivně zpracovávalo velké haldy, takže je vhodné pro aplikace, které vyžadují velké alokace paměti.

4. NUMA-Aware: ZGC je navrženo tak, aby podporovalo NUMA, což znamená, že dokáže efektivně zvládnout velké hromady a více jader CPU.

5. Experimentální funkce: ZGC je experimentální funkce, jejíž aktivace vyžaduje specifické možnosti příkazového řádku. Je vhodný pro aplikace, které vyžadují velmi krátké doby pauzy a zvládnou velké alokace paměti.

Stručně řečeno, Shenandoah i ZGC jsou navrženy tak, aby poskytovaly nízkou latenci a vysokou propustnost, díky čemuž jsou vhodné pro aplikace, které vyžadují efektivní správu paměti.

Citace:
[1] https://www.opsian.com/blog/aleksey-shipilev-shenandoah-concurrent-gcs/
[2] https://clojure-goes-fast.com/blog/shenandoah-in-production/
[3] https://wiki.openjdk.org/display/shenandoah/Main
[4] https://www.diva-portal.org/smash/get/diva2:1466940/FULLTEXT01.pdf
[5] https://developers.redhat.com/articles/2024/05/28/beginners-guide-shenandoah-garbage-collector