假设你有一个很长的方法,大约有 200 行对时间非常敏感代码。将代码的某些部分提取到单独的方法中是否可能会减慢执行速度?
最有可能的是,你会得到加速。问题是优化 200 行的野兽是很困难的。实际上,当方法太长时,Hotspot就会放弃它。有一次,我通过简单地拆分一个长方法,实现了 2 倍的加速系数。
简短的方法很好,并且它们将根据需要内联。因此方法调用的开销被最小化。通过内联,Hotspot 可能会重新创建原始方法(由于其长度过大而不太可能)或创建多个方法,其中某些方法可能包含原始方法中不存在的代码。
答案是“是的,它可能会变慢”。问题是所选择的内联可能不是最佳的。然而,这是非常不可能的,我预计会加速。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)