Hello

I have been doing some performance tuning for the last day on our jsf.js scripts. So far things look good, the performance seems to be slightly faster (about 5-15% on a modern browser) than Mojarras under my testing conditions, except for one area.
jsf-uncompressed.js does not work out as it should.

Here is a small description: We use jsf-uncompressed.js to load the other scripts dynamically in dev mode.
This works except for some things.

To load the scripts and have them displayed properly in the debugger the loading must be done over appended script elements in the head, to load them and have them run, a script load via xhr and eval afterwards suffices.

The problem now with the head method is, it fails in slight details on many browsers, especially if the scripts become bigger. In Chrome, you cannot rely on the loading order that way (known issue since 2008)

In IE I have similar sideefects. What I would propose is following. Since a normal include works (and script loading afterwards happens over the reliable but not debuggble load - eval method)

It might be possible to work it out over chains which trigger the next load upon an event finish, but for now this is overkill.

I ran tests with the script src method over Firefox, IE in all its recent incarnations and Chrome based browsers and only on Firefox it ran reliably.

We go back to step one as Leonardo proposed and have the build process bundeling all our files into one big jsf-uncompressed js file.
I think for 2.0.1 this is the best solution.
The scripts themselves if they encounter a src= tag are not affected since I fall back on the reliable method of synchronised xhr get with added eval for that part.

I sure will revisit that part later this year, but for now having one big uncompressed file should be ok to keep the users happy. I think there are other issues more important, to tackle, than a non specced dynamic loading mechanism which keeps the files apart.


Werner

Reply via email to