本文主要是介绍GC理论的衡量指标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
设计垃圾收集算法时,需要考虑以下不同的因素:
- 程序吞吐量:您的算法减慢了多少程序?这有时表示为垃圾收集与有用工作所花费的 CPU 时间的百分比。
- GC 吞吐量:在给定固定的 CPU 时间量的情况下,收集器可以清除多少垃圾?
- 堆开销:收集器理论上至少需要多少额外内存?如果你的算法在收集时分配临时结构,是否会使你的程序的内存使用非常紧张?
- 暂停时间:你的收集器停止一次的时间有多长?
- 暂停频率:您的收集器多久停止一次?
- 暂停分布:您喜欢多数情况都是短暂的暂停,偶尔很长的暂停时间?还是时间更长但是更稳定的暂停时间?
- 分配性能:新内存分配是快?是慢?还是不可预测?
- 紧凑:在有足够的可用空间来满足需求情况下,是否会因为该空间已经分散在堆中的小块中,您的收集器是否会报告内存不足(OOM)错误?如果没有,你可能会发现你的程序变慢并最终死亡,即使它实际上有足够的内存。
- 并发:您的收集器在多核机器的表现如何?
- 伸缩性:对大小规模不等的 heap ,gc 表现怎么样
- 配置:收集器的配置很复杂吗?是否可以开箱即用并获得最佳性能
这篇关于GC理论的衡量指标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!