Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / Javascript

HeadJS script - testing web page loading speeds

0.00/5 (No votes)
24 Mar 2011CPOL3 min read 10.5K  
I have read articles and forum posts about HeadJS script and how good it is, how it can speed up your site and basically do miracles with your sites :)

Head.js (http://headjs.com/) is tiny script which improves loading speed of your websites/pages.


The latest version is version 0.9. Demo on the headjs.com has some problems,  I find it really strange that developer has not yet updated javascript links within headjs demos (there are 404 errors and js wont load). So they are basically worthless if you try to measure speed.


I have removed all github links and added various CDN javascript libraries. Now all the libraries are working, return status 200 OK. Point of CDN usage is that scripts wont be slowed by speed of my web server and most of these javascript get loaded from CDN anyway.


Original test is from head.js website, it calculates how long it takes to load page either using classic <script> within <head> or using just one <script src="head.js"> library and rest specifying as javascript call:


head.js("https://ajax.googleapis.com/ajax/libs/yui/3.3.0/build/yui/yui-min.js") 
.js("http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js") 
.js("https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js") 
.js("https://ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.xd.js") 
.js("https://ajax.googleapis.com/ajax/libs/mootools/1.3.1/mootools-yui-compressed.js") 
.js("http://cdn.jquerytools.org/1.2.5/all/jquery.tools.min.js");

You can try amended benchmars here:

HeadJS demo with script src (i am ignoring bottom <script> locations):

http://www.feronovak.com/test/headjs/script.html


HeadJS demo with head.js

http://www.feronovak.com/test/headjs/headjs.html


I have disabled all extensions, addons, plugins for all browsers to make it as fair as possible. Still this is not any scientific test and methods used are pretty lame. But it works for me as this is how normal person browsing a page will see it.


And my results (please feel free to post your times in discussion):


Chrome 10.0.648.151


SCRIPT SRC DEMO



  • 1st  run, empty cache: 261ms
  • 2nd run, cached files: 38ms

HEAD.JS DEMO



  • 1st  run, empty cache: 24ms
  • 2nd run, cached files: 14ms

Results are quite clear, head.js loads page much faster than classic <script> method.

Firefox 4.0


SCRIPT SRC DEMO



  • 1st  run, empty cache: 263ms
  • 2nd run, cached files: 111ms

HEAD.JS DEMO



  • 1st  run, empty cache: 261ms
  • 2nd run, cached files: 108ms

Really interesting this one. FF 4.0 basically wont show any difference with 1st run, same numbers for both first runs. Even more interesting is that cached run is the same speed for both versions.

Internet Explorer 9.0


SCRIPT SRC DEMO



  • 1st  run, empty cache: 368ms
  • 2nd run, cached files: 116ms

HEAD.JS DEMO



  • 1st  run, empty cache: 18ms
  • 2nd run, cached files: 8ms

This is really surprising result, IE9 loads head.js fastest from all browsers. Yes, I have tried everything, I deleted cache, closed whole IE9, deleted cache and loaded page. Times are very consistent and it really is mega fast. It is even faster than Chrome 10.

Internet Explorer 8 (IETester)


SCRIPT SRC DEMO



  • 1st  run, empty cache: 361ms
  • 2nd run, cached files: 206ms

HEAD.JS DEMO



  • 1st  run, empty cache: 16ms
  • 2nd run, cached files: 14ms

Again huge time difference. I am only using IEtester but it seems that it really is such a difference when loading site. Again, I am loading page without cache for 1st run, and then cached for 2nd.

Internet Explorer 6 (IEtester)


SCRIPT SRC DEMO



  • 1st  run, empty cache: 670ms
  • 2nd run, cached files: 180ms

HEAD.JS DEMO



  • 1st  run, empty cache: 21ms
  • 2nd run, cached files: 15ms

This is most visible difference when loading the page. Old IE6 just won't die and head.js can quite improve loading time.

It seems that head.js really can improve webpage loading times. However, I won't be putting it into my projects until I am 100% sure it works well with all the JQuery plugins and javascript codes.  But big thanks to developer for creating such useful tool, I am sure that many sites will use this soon (or in fact use it already).

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)