【问题标题】:Javascript memory impact of null vs undefinednull与未定义的Javascript内存影响
【发布时间】:2018-06-14 10:07:38
【问题描述】:

我在内存利用率对我们非常重要的领域工作,因为我们不在您的经典网络浏览器/硬件上运行。

我们在我们的应用程序中使用了很多 null,我不清楚的一件事是 null 是否比将变量分配给 undefined 占用更多空间。

我们是否知道其中一个或另一个在内存使用方面的成本更高?

感谢您的帮助!

【问题讨论】:

标签: javascript memory memory-management null undefined


【解决方案1】:

正如您在this jsperf test 中看到的,null 在 chrome(V8,就像 nodejs)中似乎稍快一些,这可能表明它的性能稍高一些。

由于 undefined 是一个比 null 更长的字符串,JIT 编译器在解析时使用 undefined 而不是 null 时必须多保存 4 个字节到内存中。考虑一下那段记忆。

垃圾回收doesn't care about the value being either null or undefined。 差异应该很小。您应该考虑使用 null 而不是 undefined 的 types 的后果。为了性能而强制使用其中任何一个可能弊大于利。

【讨论】:

  • 感谢汤姆 - 感谢您的回复!在我之前的项目中,我专门使用了 undefined ,因为 typeOf 问题将 null 作为对象返回,我认为这就是您所指的。不过,在这个新项目中,内存使用至关重要,我想我会问这个问题,因为我在研究中没有发现太多。再次感谢!
  • 不客气——但如果你需要完全控制你的记忆,你为什么不使用另一种语言,比如 C#?您可以使用它手动分配内存。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
相关资源
最近更新 更多