Monday, January 28th, 2008
A Study of Ajax Performance Issues
Coach Wei, of Nexaweb and Apache, has published a study of Ajax performance issues in browsers, and they won’t surprise you:
Obviously, we would like to see browser vendors take a serious look into the following issues and put them on their roadmap:
- In all major browsers, performance with Array and HTML DOM needs improvement in general.
- Browsers need to provide API support for Computed Box Model and Style;
- FireFox needs to improve performance of “evalâ€, object creation and “in†operation
- Internet Explorer needs to improve performance in general to be at least on par with other browsers. Beyond that, “String†manipulation on IE needs continued improvements;
- Safari: “pop†operation performance needs improvement
- Just-in-time (JIT) compiler: This maybe a bigger task than an incremental fix of some existing features, however, it is worthy of every penny. JIT will not only fix the String manipulation issue, it will enable JavaScript to truly shine in matching the performance of native applications. The amount of client side logic (aka, JavaScript code) needs to grow in order to accommodate the growth of application complexity, for which JavaScript runtime performance problem can be a major bottleneck.
Read the study to get the details on each item. It includes the results such as the DOM operation performance information:













Why does the word Ajax have to be in here?
It all comes down to Javascript doesn’t it?
Haha, indeed
By itself it dosnt have anything to do with Ajax but these operations results is based on methods often used after reciving ajax request response. So i guess the title can be accepted now its about the Ajax performance issued.
Why isn’t Opera included in this little Test? Because it was to fast to be measured?
While it’s very interesting to see how browsers natively perform, I’d be even more interested in seeing how AJAX Libraries such Prototype and JQuery possibly help us get better performance through their convenience methods for DOM manipulation and accessing. I don’t do as much native browser-level DOM manipulation as I now often leverage the libraries for this.
Perhaps someone representing the libraries can take this existing table/grid and add their convenience methods and metrics for comparative purposes, and comment on how they may help people avoid the cross-browser performance pitfalls?
>>Why isn’t Opera included in this little Test?
The similar list
with addition of Opera
and the list for
oncoming versions of browsers
Ajax is becoming the word that represents general DHTML programming these days. So calling it “Ajax performance” is fine.
>> FireFox needs to improve performance of “evalâ€
eval is much faster in FF 3
Two points: referring to “all major browsers” but not including Safari or Opera seems to be misleading.
The second point: getElementsByTagName does *not* return an Array it returns a NodeList. The difference? NodeList is a dynamically updated list that always reflect the current state of the dom — or at least it should, i’m not sure what the JS implementations do.
Ah ingore the first point — i see that the original article does at least cover safari — although the absence of opera is somewhat poor.
Yes “all major browsers” but not including Safari or Opera is misleading.