1

我有这个复杂的前端 Web 应用程序,我试图通过大量数据流过它来优化它。现在我看到大约 40% 的时间花在使用 chrome profiler 进行垃圾收集上。有什么方法可以查看代码的哪一部分导致占用垃圾收集时间最多的分配?

请注意,此问题并非特定于谷歌浏览器。我不介意使用其他工具来找出答案。

4

1 回答 1

2

您的代码很可能正在实例化许多短期对象(DOM 节点?)。在 GC 中花费的时间通常不取决于被收集对象的类型,主要取决于这些对象的数量。

因此,您可以尝试获取并比较两个堆快照,以查看在新分配列表中占主导地位的对象类型。可以在https://developers.google.com/chrome-developer-tools/docs/heap-profiling#views_comparison找到更多详细信息(唯一的区别是您应该在 [强制] GC 完成后拍摄第一个快照,第二个是分配了相当多的堆时。)

于 2013-09-30T13:27:43.963 回答