在 javascript 中寻找瓶颈?

Finding bottlenecks in javascript?

提问人:Skizit 提问时间:1/24/2011 更新时间:1/25/2011 访问量:4977

问:

我试图在我的 Javascript 中找到瓶颈。基本上,我正在开发一个用 Javascript 编写的 chrome 扩展程序,它需要 4-5 秒才能执行一项任务。该任务涉及大量代码,并且使用开发工具中内置的打印语句/chrome 是行不通的。开发工具似乎甚至没有看到我的 Javascript 在运行。我想知道是否有人有任何他们认为可能有益的建议/工具?

javascript 调试 google-chrome-extension

评论

1赞 Sparafusile 1/24/2011
我们需要更多的信息。你在执行什么任务?你能给我们内部循环的代码列表吗?通常,使用更好的算法可以获得更大的性能提升。告诉我们您正在尝试完成什么以及您如何尝试完成它,也许我们可以提供更多帮助。
0赞 loislo 1/25/2011
代码可能没有运行,因为你使用了 setTimeout 等。尝试使用时间轴来查看实际发生的情况。
0赞 yonran 1/25/2011
是的,我已经看到注入的内容脚本很难调试和分析,因为 JS 环境与网页环境是分开的,检查员甚至看不到 JS 脚本。我还不知道有什么好的解决方法。

答:

0赞 Ben 1/24/2011 #1

也许在Firefox中打开HTML文件而不是让Chrome扩展程序处理它是一个好主意。这将允许您使用 Firebug 来确定任何原因,这将非常有帮助。

评论

0赞 Ben 1/24/2011
我对 Chrome 应用程序的理解是它们只是 HTML、CSS 和 Javascript,因此在 Firefox 中运行它们应该不是问题。我的答案还是一样的......我不确定你在原来的问题中改变了什么
0赞 GK80 1/24/2011 #2

我记得 Google Chrome 有一个内置的 JavaScript 分析器。或者你不能把它用于你的扩展吗?(我从未构建过 Chrome 扩展程序。

10赞 smirkingman 1/25/2011 #3

在 Chrome 中打开您的网页。

工具 -> 开发人员工具 ->配置文件

开始分析(第 3 个按钮,底部状态栏上的灰色圆圈)

0赞 loislo 1/25/2011 #4

您可以尝试使用前面提到的 Profiler 或 Timeline。 如果时间花在本机代码上,时间线将为您提供帮助。