Microsoft Dev Labs released an Ajax application optimization tool called Doloto. Doloto is very useful for large and complex Web 2.0 applications that contain a lot of code. Doloto analyzes AJAX application workloads and automatically performs code splitting of existing large Web 2.0 applications. After being processed by Doloto, an application will initially transfer only the portion of code necessary for application initialization.

Doloto reduces the size of initial application code download by hundreds of kilobytes or as much as 50% of the original download size. The time to download and begin interacting with large applications is reduced by 20-40% or dozens of seconds as shown below, depending on the application and wide-area network conditions.

The Doloto process proceeds in three steps, which correspond to wizard steps in the Doloto GUI.

  • First, the application you want to optimize is profiled. Doloto performs profiling by running a local proxy on your machine that intercepts JavaScript files and instruments them. This is done in a browser-independent manner.
  • Second, the profiling information is used to calculate code coverage and a clustering strategy. This determines which functions are stubbed out and which are not. This also groups functions into groups which are downloaded together, called clusters.
  • Third, the JavaScript code is rewritten and saved to disk so that you can upload it to the server. Note that the entire process happens entirely on the client – that is, on your own machine, without needing access to the server. This way, you can profile and optimize the JavaScript of a third-party site such as or without having any sort of special access to their servers. It’s only when you are satisfied with the results of Doloto rewriting that you need to deploy the Doloto-rewritten files to the server.


This document is a step-by-step guide on how to use Doloto.

Download Doloto