目 录CONTENT

文章目录

ZGC、G1与Parallel Scavenge吞吐量及停顿时间对比

Administrator
2022-11-25 / 0 评论 / 0 点赞 / 2328 阅读 / 2679 字

前言

关于各GC间对比的官网描述

image-1669389799242
翻译:

  • Parallel GC 只能作为一个整体来压缩和回收老年代的空间。G1 逐渐将这项工作分布到多个更短的集合中。这会以潜在的吞吐量为代价大大缩短暂停时间。
  • G1 并发执行部分老年代空间回收。
  • G1 可能表现出比上述收集器更高的开销,由于其并发性质而影响吞吐量。
  • ZGC 的目标是非常大的堆,旨在以更高的吞吐量为代价提供更短的暂停时间。

吞吐量

目前来说,在不设置期望停顿时间(Critical Throughput)时,Parallel Scavenge的吞吐量最大,因为Parallel Scavenge基于标记-复制算法实现,侧重于吞吐量。但是即使在这种情况下ZGC依然达到了以高吞吐量为目标的Parallel Scavenge的99%,直接超越了G1。
设置了期望停顿时间时(比如10毫秒到100毫秒),ZGC的表现反超了Parallel Scavenge收集器

数据见图

image-1669389701133

停顿时间

而在ZGC的强项停顿时间测试上,它就毫不留情地与Parallel Scavenge、Gl拉开了两个数量级的差距。不论是平均停顿,还是95%停顿、99%停顿、99.9%停顿,抑或是最大停顿时间,ZGC均能毫不费劲地控制在十毫秒之内,以至于把它和另外两款停顿数百近千毫秒的收集器放到一起对比。

数据见图

image-1669389722850

测试数据

图示来自于 http://spec.org/jbb2015

0
JVM

评论区