我不知道为什么它是25 [关闭]

问题描述 投票:-3回答:1
[[在此处输入图像描述] [1]

[[1]:https://i.stack.imgur.com/gg6E1.jpg请告诉我为什么是25。

garbage-collection v8
1个回答
0
投票
首先,请在提问时进行描述,并提供一些背景知识。

    您在哪里遇到该代码?
  • 您是否在乎这个门槛? (例如“为什么V8的ShouldBePromoted函数包含对剩余空间容量的检查?”)
  • 您是否关心阈值的特定值? (例如,“为什么此阈值的值为25%,而不是24%?”)
  • 你为什么在乎?有问题还是您只是好奇?
  • 将文本和代码发布为文本,而不是图像/屏幕截图。
  • 提供一些背景信息可以帮助您获得更好的答案,从而真正解决您想知道的问题!

    第二,此代码必须来自某些较旧的V8版本。它在2014年被删除。显然有人有理由决定最好不要使用它。

    话虽如此,一般的答案是:这是一种启发式方法,据推测在某个时候效果很好。原因可能是当只有少量对象幸免于难时,世代GC才是最有效的。如果应用程序具有一种分配模式,其中许多年轻对象可以幸免于难,那么它可以节省时间将它们立即升级到旧空间(否则它们很快就会被升级,这将是另一个复制操作)。在实现这一总体思路时,您必须决定“多少个对象是多少?”;旧的V8恰好在这里选择了“新空间大小的四分之一”。

  • © www.soinside.com 2019 - 2024. All rights reserved.