Bug: (BIG performance hit) Dojo date picker and other components

If you include a date picker on an xPage, Dojo loads it in the browser. But it’s definitely not loading a custom Dojo build – it’s loading using Dojo’s default dependencies, resulting in massive numbers of hits to Domino HTTP.

This will also cause horrible load times for users on moderate latency connections (anything > 100ms), even if the libraries are cached. It’s also needlessly harsh on the server.

A Firebug screenshot is attached below of a very simple xPage. The CSS appears to be loading as sequenced dependent libraries, and so is the JS.

Is Domino is going to ship with custom-compiled Dojo libraries for the out-of-the-box components provided (grid, date picker, time picker, editor)? If so, that should reduce the # of hits dramatically – for example, the date picker should drop from 50+ requests to ~5.

Using ANT to perform a Custom Build is considered standard production practice in the Dojo world. But if there currently aren’t plans to do so then there are going to be some horrific page load times (and needless server performance issues too).

Subject: 8.5 Beta 2: This is still a problem.

Subject: Agree, it’s horrible at the moment

I’m concerned about this as well. I really hope that the production code is way more optimized and less “request intensive".

Perhaps someone sitting on a newer build than Beta 2 can give some insight about this?

Subject: Don’t have an answer, but the final code seams to be not too far away any longer (weeks?)

see www.edbrill.com, what he posted on December 1st.

Subject: 8.5 Domino server vs. web preview from Designer

The 8.5 Domino server will ship with some performance enhancements that ought to give you the what you are looking for - it uses both custom built Dojo layer files and expires headers to help the browser minimize the amount of io needed to get your page displayed.

If you are doing benchmarks, they will only be useful when done against a Domino server.

For web preview of a local database in Domino designer - our development environment - we decided that the files installed there should be the original Dojo JavaScript source files. That puts easy to read, debuggable code to the browser during app development, when you might be working on your own JavaScript, but it does perform slower than the Domino server.