Yes, I Know We’re Far From It

As O’Reil­ly books go, this is thin and light. That is par­tic­u­lar­ly appro­pri­ate giv­en the sub­ject mat­ter, but nev­er­the­less notable on a shelf next to Perl and Java books, all push­ing a thou­sand pages.

Soud­ers does exact­ly what some­one writ­ing on this top­ic should: he wastes very lit­tle time as he pro­vides clear and prac­ti­cal sug­ges­tions backed up by real-world exam­ples of the ben­e­fits of these sug­ges­tions. Not all sites can use all the guide­lines he puts out, but almost all sites can ben­e­fit from some of them. Soud­ers dives into the area of per­for­mance improve­ment most over­looked by engi­neers: the front end. Many of his sug­ges­tions make sense and even seem intu­itive­ly obvi­ous from a the­o­ret­i­cal stand­point, but Soud­ers has done the foot­work for us by test­ing the the­o­ries and pro­vid­ing mea­sure­ments, and dis­pelling some of the bling alleys in the the­o­ry. Often there are two con­flict­ing the­o­ries about per­for­mance, and Soud­ers is able to tell us which one affects per­for­mance the most, turn­ing gooey the­o­ry into prag­mat­ic action­able steps.

Not to sound like a tes­ti­mo­ni­al, but I put some of his guide­lines to work on a site in devel­op­ment. I start­ed at the begin­ning of the book and worked through it, skip­ping steps that for one rea­son or anoth­er would­n’t work with this par­tic­u­lar site or which would be more work than I was will­ing to do. In a cou­ple of evenings, per­haps a com­bined total of ten hours’ time, I brought the page load and ren­der­ing of this site from thir­ty-five sec­onds down to five sec­onds. Once com­po­nents are cached, they go even faster. Tri­al and error test­ing may have even­tu­al­ly yield­ed that result, but it would have tak­en dozens if not hun­dreds (thou­sands not out of the ques­tion either) of hours of iso­lat­ing com­po­nents and test­ing and bench­mark­ing and retest­ing, then recom­bin­ing mul­ti­ple meth­ods to check for adverse syn­er­gis­tic effects.

I have yet to apply the meth­ods in this book to Mono­chro­mat­ic Out­look. The site is pret­ty slow and I have to apol­o­gize for that. I want to and intend to apply Soud­ers’ advice, but it’s a lit­tle trick­i­er work­ing with a sys­tem where I did not write all the code. It will be pos­si­ble and I will get to it, but I can’t as eas­i­ly (or main­tain­ably) mod­i­fy all the com­po­nents in this site as I did in my clien­t’s site where I cre­at­ed the con­tent and page deliv­ery sys­tems. I guess the cob­bler’s chil­dren hav­ing no shoes is still an applic­a­ble adage.