November 8th, 2009
Here are the slides from my “Extreme JavaScript Performance” talk that I gave at JSConf.eu on November 7 in Berlin.
I’m talking about 6 easy things you can do to improve your JavaScript runtime performance, ranging from simple things (function inlining) to some quite surprising findings on how JavaScript engines deal with loops.
There’s benchmarks for the four most common JavaScript engines, SpiderMonkey (Firefox 3.5), JavaScriptCore (Safari 4), JScript (Internet Explorer 8) and V8 (Google Chrome).
Be cautious however! Only do these optimizations if you have to, and, please, for the love of all the JavaScript gods, do not, ever, optimize prematurely. 🙂
Finally, here’s a PDF (750k) of the slides, if you want to read it offline and/or in dead tree form, and there’s a Github Gist of the example code, so you can run it yourself.
I welcome any comments, and findings you might have had with optimizing your JavaScript code.
October 20th, 2009

Is your JavaScript slow JavaScript? Don’t fear, we’ve put up a handy dandy JavaScript performance checklist for you!
Grab the PDF for free at slowjavascript.com!
We’ll also be sending out free optimization tips and tricks from time to time– sign up to our newsletter to get them! These great tips and tricks are drawn straight from our not-free-but-totally-awesome book, JavaScript Performance Rocks! 🙂
July 3rd, 2009
Here are the slides from the presentation Amy and I gave at Kings of Code ’09 in Amsterdam. Probably not too helpful without the audio, it’s mostly for those of you that attended and asked for the slides, so please enjoy Rich and Snappy Apps (No Scaling Required).
You can also grab a PDF (3.4 MB).
June 22nd, 2009

Amy and I are doing a talk on JavaScript performance on June 30, at the Kings of Code conference in Amsterdam. There are still tickets available! So if you’d like to get some great info on making your web apps scream (no, not of horror, of speed!), consider dropping by! There’s a whole bunch of other great speakers and talks, so check it out!
January 21st, 2009
We’ve just released the beta of the JavaScript performance book we’ve been writing on for a while (we is my wife Amy Hoy and me!).

Without further ado:
- More than a hundred pages on JavaScript loading performance and optimization techniques
- The DOM Monster, a bookmarklet-based DOM analyzer, that tells you about performance problems of your page (from the perspective of the DOM, not the the network)
- Free updates (it’s still beta, but pretty much complete anyway!)
You can also grab a table of contents at the site for the ebook.
I really hope you enjoy the ebook, and that it contains tons of stuff that you can use. Again, no matter what kind of JavaScript framework you use, the techniques described are universally usable.
Grab your copy today!
January 17th, 2009
Coming soon from yours truly and Amy Hoy!
As a special thank you for my regular readers (you!), sign up for the announcement email and get $5 off the regular price when the beta book is out!

The book will cover all sorts of topics around JavaScript performance, from perceptive loading performance all the way down to selecting between if and case statements.
It’s library/framework agnostic, so whether you use Prototype, jQuery, Mootools or any other libs, you’ll find that you’ll be able to provide faster-loading, better performing JavaScript to your users.
I’d like the web to be a better (and faster-loading!) place—and this ebook will help you get your sites literally up to speed with all the knowledge I’ve accumulated in years and years of web development and JavaScript programming.
So head over to http://javascriptrocks.com, sign up for the discount and you’ll soon will hold our beta release of the ebook in your (virtual) hands!
May 27th, 2008
Thanks to Dion Almaer and Google, you can now use served-off-googles-infrastructure versions of your favourite JavaScript libraries, including Prototype and script.aculo.us.
The files are served with proper caching headers and fully compressed (GZIP), so you don’t have to do it yourself.
In Dion’s words:
- Developers won’t have to worry about getting caching setup correctly, as we will do that for you
- If another application uses the same library (much more likely), they there is a much better chance that it will be already caching on the users machine
- The network and bandwidth of the users systems will not be taxed.
You can either use Google’s API loader (see link to docs below), or just use direct URLs. For example the following code block will load in Protoype and script.aculo.us’ effects (ignore the linebreaks!):
<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/effects.js"></script>
You can read up on this at the documentation site.