1

我的 JavaScript 存在一些性能问题,并且在检测它方面没有取得多大成功。我尝试过的一件事是使用 firebug 的配置文件工具。它报告顶部的单个调用是对 dojo 的 log()。无奈,它报告了压缩脚本的行号,所以我不知道是什么导致了问题。但有趣的是,配置文件报告中 70% 的行用于 dojo 的 log() 调用,因此累积起来,它必须在那里花费大量时间。有没有办法关闭道场记录?

唯一可见的日志记录是每 1.5 秒出现一次的条目,这似乎是彗星的保活。我也在一个地方使用了 dojo 的滑块,但我没有看到任何证据表明这会导致性能下降。

我应该使用哪些其他工具来尝试识别 javascript 中的性能热点?我在 JavaScript 中的代码部分并不是非常大,所以如果是到服务器的往返行程确实导致了问题,我不会感到惊讶,但我也不知道如何检测它。

4

3 回答 3

1

您可能正在使用 Dojo 的压缩版本。如果您将 dojo.js 更改为 dojo.js.uncompressed.js,则配置文件信息应该会显示更准确的信息。

于 2009-08-18T04:08:33.533 回答
0

也尝试使用 Dojo 构建器构建您的 JavaScript。另外,请记住最慢的调用是 DOM 调用。因此,请确保您没有在循环内查询 DOM,因为它可以被移到外面。

于 2009-08-12T14:27:41.123 回答
0

如果您使用的是 Dojo 1.2 或更高版本,您可以使用 stripConsole=normal 同时使您的构建自动剥离它所做的所有日志调用。如果您不使用构建系统,那么这可能是您可以提高性能的第一件事。

一些帮助您入门的链接:

http://docs.dojocampus.org/build/index

http://docs.dojocampus.org/quickstart/custom-builds

于 2009-08-11T18:06:42.110 回答