gpt4 book ai didi

javascript - Chrome 垃圾收集

转载 作者:行者123 更新时间:2023-11-28 01:44:33 25 4
gpt4 key购买 nike

我必须为我的应用程序创建并保留数十万个对象。我注意到在 Chrome 中,有时当我加载页面时,即使我做了 0 次代码更改,创建对象所需的时间也会比平时更长。然后,创建对象后,页面运行速度会比平常慢;很多时候,CPU 分析器会说它是 GC,或者是一些使用大部分 CPU 的随机函数。就像我说的,有时我会刷新页面而不更改任何代码,并且我不会看到这种行为。两者是相辅相成的:如果由于某种原因对象创建缓慢,页面将运行缓慢并说它是随机函数或 GC。

在 IE 中,页面每次都会按我的预期运行。

如果没有看到数千行代码,你就无法诊断任何事情,但是有人对我有什么想法吗?为什么 Chrome 会表现出这种行为?我可以尝试任何简单的调整吗?谢谢!

最佳答案

一个简单的技巧就是这样。如果没有看到您的代码,我不确定它是否适用。如果您使用此模式创建对象:

function Foo() {
this.func1 = function () { ... };
this.func2 = function () { ... };
}

等等,然后使用此模式:

function Foo() {
}
Foo.prototype.func1 = function () { ... };
Foo.prototype.func2 = function () { ... };

后者最终是 much, much faster 。我不确定它是否会提高内存效率,但有可能。

关于javascript - Chrome 垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20486130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com