Monday, December 11, 2006

Page load times with large selects

Okay, so side-stepping anything on server-side performance optimization: I have to work on some code that currently pushes out almost 500k of markup to the browser, in a combination of a little tabulated data (15 columns, only a couple of rows), select inputs (several of them currently push the browser limit of options) and cross-referenced data in unordered navigation lists. This server also has a lot of other shit running on it right now, pretty much resulting in a completely fucking gang-banged database and thirteen seconds for the entire page to get generated and spit out to the browser in its entirety.

That said, once the browser actually receives the markup, it shouldn't take all that long (comparatively) to render. Doing some basic, non-scientific testing, a 2.8Ghz Intel box with two gigs of ram, rendered the page in about seven seconds in Firefox 2.0. IE7, running on the same box, took a whopping 57 fucking seconds to render. Not only that, but it basically stopped rendering when it hit the large selects and just fucking gave up until it figured it all out.

Now, I know IE has an inexplicable fear of rendering tables. It hates it, it fears it, and it will do everything it can to make you never want to use tables of any useful goddamn size, considering tables display tabular data. But selects? When the fuck did that happen? Even IE6, running in Virtual Fucking PC on a slow-ass Mac 1.4Ghz PowerPC with a gig of ram, even that rendered the same page in seventeen seconds.

I don't know what the fuck they did to IE7 to get the CSS support in there, but they broke some shit when they did it.

Labels: ,