The boring rants of a lazy nerd

Thursday, April 28, 2005

Web Tech - JavaScript/DOM performance

I've done some extremely unscientific and informal comparison of Firefox 1.0.3, Opera 8.0 and Konqueror 3.4 running my dynamic table script on 100K of data and I have to say I'm very impressed with Opera. It feels like the code is JIT-compiled while KHTML feels like it's running in an emulator (I'm talking about being 50 times(!) slower while crawling DOM etc.). There are things where Konq. actually does better than dear old Gecko, though compatibility is definitely not one of them (I had to code around many KHTML issues). Opera's choice of when to actually reflow the DOM changes is a bit weird, but it might be doing the right thing performance-wise.

I'm working on getting the browser from Redmond to work in QEMU, will update here when I have more info.

ETA: It's working, but I can't really do any performance comparisons.

ETA #2: KHTML 3.4.1 bugfixes should allow me to remove a few lines of code. It's my policy to only support the (near) latest version of each browser engine. There's no good reason to still use IE 5.5, pre-1.0 Mozilla (or even pre-1.0 Firefox, which is Mozilla 1.7), Opera 6, etc. I expect the UA to either have full support of the W3C DOM and CSS DOM and things like Array.push (so no IE 5.0) or be treated like Lynx, but I won't use Mozilla 1.8b2's proprietary Array.ForEach (although it's brilliant!). For the people stuck with the version of KDE/Mozilla they have on their binary distro: too bad, you probably don't use Konq as your primary web browser anyway. :-)

No comments:

Blog Archive

About Me

GCS d- s-: a-- C++$ UL++ P+++ L+++ E--- W+++ N o? K? w++$ !O !M !V PS-(+) PE Y+ PGP+(-) t--@ 5++(+++) !X R-- tv-- b+>++ DI+++ D+ G e h! r* y--(-)>+++