Doloto is a system that analyzes 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. The rest of the application’s code is replaced by short stubs — their actual function code is transferred lazily in the background or, at the latest, on-demand on first execution. Since code download is interleaved with application execution, users can start interacting with the Web application much sooner, without waiting for the code that implements extra, unused features.
To demonstrate the effectiveness of Doloto in practice, we have performed experiments on five large widely-used Web 2.0 applications. Doloto reduces the size of initial application code download by hundreds of kilobytes or as much as 50% of the original download size.[caption id="" align="alignnone" width="487"] Original and Doloto sizes, in bytes, when loading these sites[/caption]
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.
[caption id="" align="alignnone" width="491"]
Time savings, in seconds, achieved through Doloto when loading these sites[/caption]