Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find slow-down in Javascript in IE6

Something's slowing down my Javascript code in IE6 to where there's a noticeable lag on hover. It's fine in FF, so using firebug isn't that helpful. What tools are out there to help debug this in IE?

A little more info: I don't think there's actually any JS running on the objects that I'm mousing over. (At least none that I've put in.) Just css :hover stuff. Also, I've got both jquery and dojo running on the project, so who knows what they're doing in the background.

like image 418
sprugman Avatar asked Jan 25 '23 00:01

sprugman


2 Answers

Just a tip of what that "something" could be...

String concatenation in IE is (or at least was when I tested) very slow. Opera finished after 0.2s, Firefox after 4.1s and Internet Explorer 7 still hadn’t finished after 20 minutes!!!

Don't do:

for (var i=0, i < 200; i++) { s = s + "something";}

Instead, temporarily use an array, and then join it:

var s=[];
for (var i=0; i < 200; i++) s.push("something");
s=s.join("");
like image 153
some Avatar answered Feb 01 '23 19:02

some


What I usually do is:

var startTime = new Date();
// Lots of heavy code here
console.log("Processing time: ", new Date() - startTime, " ms");

You can get Firebug lite to get console.log to work across browsers. This gives you an idea about how long any given section of your code takes to execute.

Once you know which is the erring section, you can explore options to fix it.

like image 27
Rakesh Pai Avatar answered Feb 01 '23 18:02

Rakesh Pai