GC算法的评价标准

  • 吞吐量 (Throughput) - 在一段较长的时间内, 非 GC 运行时间所占总运行时间的百分比。
  • 内存使用率 - GC算法本身占用的内存比,即空间比。
  • 暂停时间 (Pause time) - 在整个程序执行过程中程序为了进行 GC 而停下来的时间。关于暂停时间的度量包括最大暂停时间、平均暂停时间和暂停时间的分布等。
  • 缓存友好程度:分为GC运行部分和程序运行部分。主要影响的是程序运行部分,如果GC将程序的对象变得离散,缓存命中效率就会变低。
  • Copy-On-Write友好程度。
  • 可扩展性和可移植性 (Scalability and Portability) - 随着硬件(多核、并行能力)的提升和扩展、内存空间的扩展,GC 算法是否能有效利用硬件。