How to profile and and get Javascript performance

2019-01-10 21:09发布

Possible Duplicate:
What is the best way to profile javascript execution?

I have a few scripts that use jQuery, and I think I have a memory leak in one of them.

How one could profile and find what parts of the scripts that I have are using the most memory/CPU?

Thanks

8条回答
家丑人穷心不美
2楼-- · 2019-01-10 21:15

Though chrome has profiling options inbuilt it does not give precise information about the object.So i prefer using leak-finder-for-javascript tool which helped me in my code.

https://code.google.com/p/leak-finder-for-javascript/

I hope this helps.

查看更多
我命由我不由天
3楼-- · 2019-01-10 21:23

Firebug or Google's Page Speed for Firefox have profiling tools.

查看更多
我想做一个坏孩纸
4楼-- · 2019-01-10 21:24

Google Chrome also has profile options

查看更多
时光不老,我们不散
5楼-- · 2019-01-10 21:29

Regarding memory consumption

Memory leaks in JavaScript are usually ignored except when they turn into browser memory leaks (that is, even after the user navigates away from the page, the memory continues allocated and there's no way to free it). The reason for this is that while your web application may have some memory leaks, users will go from one page into another so the leaks are minimized. However they may not restart the browser, so browser memory leaks may be serious. Some JavaScript code is known to cause memory leaks on certain browsers, being Internet Explorer probably the worst in this area. For it you may find Microsoft JavaScript Memory Leak Detector to be very useful.

Regarding times

IE, Chrome and Safari have built in profilers in the web development tools that ship with the browser. For Firefox you may use Firebug. Also useful may be, since you're using jQuery which means your profiling report will be filled with anonymous functions and alike, making it quite unreadable, John Resig's jQuery profiling plugin, which will give you a clearer output on the matter.

查看更多
姐就是有狂的资本
6楼-- · 2019-01-10 21:32

Use Firebug. To quote from http://getfirebug.com/js.html:

To use the profiler, just go to the Console tab and click the "Profile" button. Then use your app for a bit or reload the page and then click the "Profile" button again. You'll then see a detailed report that shows what functions were called and how much time each one took.

查看更多
对你真心纯属浪费
7楼-- · 2019-01-10 21:32

Another simple way to test a specific piece of code is to add a timer around it.

var testStart = new Date();

// code to be tested here

$('#jstest').html("selected function: "+ (new Date() - testStart) + " milliseconds");

Where jstest is a span element somewhere visible on your page.

查看更多
登录 后发表回答