Problem
Abstract Modern Web 2.0 applications such as Gmail, Live Maps, MySpace, Flickr and many others have become a com- mon part of everyday life. These applications are net- work bound, meaning that their performance can and does vary a great deal based on network conditions.
Approach
However, there has not been much systematic research on trying to optimize network usage of these applications to make them more responsive for end-user interactions. Interestingly enough, code itself, usually in the form of JavaScript that runs within the client browser, consti- tutes a significant fraction of what needs to be transferred to the client for the application to run.
Results
Therefore, one way to significantly improve the perceived client-side performance for a range of Web 2.0 applications is to per- form judicious decomposition — or splitting — of code and only transfer the code that is necessary just before it is needed. In this paper we propose several code splitting algorithms and explore their effectiveness at improving the responsiveness of large sophisticated Web 2.0 sites. 1