Thanks for sharing your results Ken!  I'm just crossing my fingers and
hoping my IT Dept will have pushed IE7 out by the time my app goes
live :)

Thanks again,
phrygius


On Oct 3, 12:39 pm, Ken Snyder <[EMAIL PROTECTED]> wrote:
> phrygius wrote:
> > ...
> > My testing so far is _nowhere_ near those numbers, and I have begun to
> > wonder if I will encounter problems of scale in the future.  Do you
> > expect that I will have browser crashing or slow-down?
> > ...
>
> I have an "offline" application that starts out by loading ~200kb of
> JSON data into JavaScript objects.  I have found that IE6 is the most
> feeble browser when it comes tolargeamounts of html, but it scales
> pretty well with JavaScript memory.  The things that don't scale well on
> _IE6_ are:
>
> 1. DOM size: I originally tried alargedocument instead of the 200kb of
> JSON where I used JavaScript to show/hide relevant data for different
> actions.  In IE this was very slow to load and add observers (over 5
> minutes for 500kb of html and consuming 90MB RAM) and seemed to slow
> down exponentially as DOM size increased.  I ended up storing JavaScript
> objects in memory and setting innerHTML of content panes based on html
> templates.
>
> 2. appendNode(): Building html strings and calling innerHTML is 3 to 5
> times faster than createElement() and appendNode() (and innerHTML is
> standard in html5!)
>
> 3. Iteration using each(): With extremelylargearrays and objects, for
> and while loops are a must.
>
> 4. Sorting: Don't even _try_ to sortlargearrays in IE6.
>
> 5. Objects instead of arrays: I found that using objects like
> associative arrays takes uptoomuch memory--use numerically indexed
> arrays instead.
>
> 6. ActiveX Filters: You can easily crash IE6 if you use ActiveX PNG
> transparency filters on more than a handful of images on a page.
>
> After making changes along these lines, the application is very
> responsive in IE6.  I also didn't experience any noticeable slowdowns
> when unserializing the initial JSON data or serializing the result data
> for posting back to the server.  Serialization in IE6 is definitely
> slower than in Firefox, but was not a problem for me.
>
> The crazy thing is that all my tests showed Firefox scaling very well.  
> With 500kb of html and thousands of Event.observe() and each() calls and
> sorting oflargeobjects, Firefox took only about 3 seconds.
>
> When testing IE6 with 500kb of HTML, I never got it to crash, but I did
> get the "Script is running slowly" warning--which to users looks like a
> catastrophic error :)
>
> Happy coding
>
> - Ken
>  Snyder


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to