Welcome!

AJAX & REA Authors: Lori MacVittie, Charlene Qu, Yakov Fain, Andreas Grabner, Kevin Hoffman

Related Topics: AJAX & REA

AJAX & REA: Article

Nexaweb's Founder & CTO Pinpoints Top Six AJAX Performance Issues

Why Are AJAX Applications Slow?

Why are AJAX applications slow? The Founder & CTO of AJAXWorld 2008 East Gold Sponsor Nexaweb, Coach Wei, recently took some time to do some research in the area of AJAX performance issues, and conducted a JavaScript performance study. The three browsers in the study are IE 7, FireFox 2, and Safari 3. Today he published his results.

They can be viewed and read in full here.

The top six AJAX performance issues he pinpoints are:

1.    Array performance on all browsers in general
2.    HTML DOM performance in general
3.    Calculating Computed Box Model and Style
4.    FireFox: “eval”, Object Creation and “in” Operation
5.    “String” Manipulation Performance on IE
6.    Safari: “pop” Operation Performance

Wei then goes on to discuss where the industry could and should go from here.

"Obviously, we would like to see browser vendors take a serious look into the following issues," he writes, "and put them on their roadmap."

The issues are, says Wei:

  1. In all major browsers, performance with Array and HTML DOM needs improvement in general.
  2. Browsers need to provide API support for Computed Box Model and Style;
  3. FireFox needs to improve performance of “eval”, object creation and “in” operation
  4. 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;
  5. Safari: “pop” operation performance needs improvement
  6. 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.


"But how can we get browser vendors to listen to us?" he asks rhetorically, then answers:

"First of all, help make some noise! The community needs to come together and your participation is crucial in making something happen.

Secondly, let’s look around and get some coordinated acts together. At OpenAjax Alliance (http://www.openajax.org), we are starting a task force called “Runtime Advocacy Task Force”. At the OpenAjax 2007 September Member Meeting, the members of OpenAjax Alliance discussed the challenges for future Ajax growth and adoption, in particular, issues directly related to the various Ajax runtime environments. The collective wisdom was that OpenAjax Alliance should do something in this area to help creating a better Ajax eco-system. The work is still in its early stage, but watch for progress over the next month or so."

More Stories By RIA News Desk

Ever since Google popularized a smarter, more responsive and interactive Web experience by using AJAX (Asynchronous JavaScript + XML) for its Google Maps & Gmail applications, SYS-CON's RIA News Desk has been covering every aspect of Rich Internet Applications and those creating and deploying them. If you have breaking RIA news, please send it to RIA@sys-con.com to share your product and company news coverage with AJAXWorld readers.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Bert Halstead 01/28/08 02:27:00 PM EST

Regarding Coach Wei's mention of JIT compilation, I and my colleagues at Curl agree that compilation to high-performance native code is absolutely essential if you want an RIA whose client side can process and present substantial amounts of information. Unfortunately JavaScript just wasn't designed to be compiled to high-performance code.

The Curl language was designed from the ground up to be compilable for high performance, and that's why we think it's the best platform for enterprise RIAs in particular.

Perf421 01/23/08 05:07:08 AM EST

IE7 is frustratingly slow on Google Reader. It seems to hang whenever new stuff is being downloaded in the background via AJAX.

OmegaJunior 01/22/08 04:13:48 PM EST

MS IE7 performs extra security checks, especially when the main page and the ajaxed data are on different servers.