[[1]:https://i.stack.imgur.com/gg6E1.jpg请告诉我为什么是25。
ShouldBePromoted
函数包含对剩余空间容量的检查?”)第二,此代码必须来自某些较旧的V8版本。它在2014年被删除。显然有人有理由决定最好不要使用它。
话虽如此,一般的答案是:这是一种启发式方法,据推测在某个时候效果很好。原因可能是当只有少量对象幸免于难时,世代GC才是最有效的。如果应用程序具有一种分配模式,其中许多年轻对象可以幸免于难,那么它可以节省时间将它们立即升级到旧空间(否则它们很快就会被升级,这将是另一个复制操作)。在实现这一总体思路时,您必须决定“多少个对象是多少?”;旧的V8恰好在这里选择了“新空间大小的四分之一”。