微软团队着火了,并且正在推动一个新的JEP:改进的C2中的堆栈分配,最多可减少15%的堆分配。在最新的FOSDEM,他们提出了他们的想法和原型一个谈话。
以下是其目标:
- 增强C2删除通过转义分析优化步骤证明无法逃避的堆分配的能力,从而减少堆压力和CPU数据高速缓存未命中。
- 不降低现有工作负载的性能。
- 在对启动和启动敏感工作负载进行衡量时,添加的其他优化通道应该对编译时间的影响最小。
- 在方法的编译过程中,添加的其他优化通道应具有最小的额外内存开销。
- 通过删除慢速路径,减少为对象分配而生成的指令数量。这将减少整体代码缓存的大小。
- 该优化应该使用于去优化的调试信息的内存占用增加最小。
- 该优化应该在当前OpenJDK版本支持的所有GC模式下都有效。
- 该优化应在Project Loom可用时起作用。