Doloto: Speeding Up Web 2.0 Apps with Dynamic Code Loading

Performance
Location: Salon A-D Level: Intermediate
Average rating: ****.
(4.00, 1 rating)

Modern Web 2.0 applications, such as GMail, Live Maps, Facebook, and many others, use a combination of Dynamic HTML, JavaScript, and other web browser technologies commonly referred as Ajax, to push page generation and content manipulation to the client web browser. This improves the responsiveness of these network-bound applications, but the shift of application execution from a back-end server to the client also often dramatically increases the amount of code that must first be downloaded to the browser. This creates an unfortunate Catch-22: to create responsive distributed Web 2.0 applications developers move code to the client, but for an application to be responsive, the code must first be transferred there, which takes time.

We present Doloto, 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. Whenever new code is needed, it will be fetched on demand.

In practice, Doloto reduces the size of 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% depending on the application and wide-area network conditions.

Photo of Ben Livshits

Ben Livshits

Microsoft Research

Ben Livshits is a researcher at Microsoft Research in Redmond, WA. He received a B.A. from Cornell University in 1999, and his M.S. and Ph.D. from Stanford University in 2002 and 2006, respectively. Dr. Livshits’ research interests include application of sophisticated static and dynamic analysis techniques to finding errors in programs. He is known for his work on software reliability and especially tools to improve software security, with a primary focus on approaches to finding buffer overruns in C programs and a variety of security vulnerabilities (cross-site scripting, SQL injections, etc.) in Web-based applications. Lately he has been focused on how Web 2.0 application reliability, performance, and security can be improved through a combination of static and runtime techniques.

  • Akamai
  • Google
  • Hyperic
  • Sun Microsystems
  • 3Tera, Inc
  • Coradiant
  • Keynote Systems
  • Limelight Networks, Inc.
  • OpSource
  • TechRepublic

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at scordesse@oreilly.com.

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com.

Contact Us

View a complete list of Velocity contacts.