Project: Taking advantage of thread-level speculation to improve the performance of JavaScript in web applications

Team: Jan Kasper Martinsen, Håkan Grahn, Anders Isberg

Research institution: Blekinge Tekniska Högskola Karlskrona, Sweden

Abstract: JavaScript is a popular programming language which allows developers to provide client-side interactivity in web applications, but because it is sequential, it can’t take advantage of multicore processors. Thread-level speculation addresses this issue by enabling the speculation of JavaScript function calls and thus exploits the parallel performance potential multicore processors provide.

We found that for a set of 15 very popular web applications, optimization techniques such as just-in-time compilation make JavaScript execution in web applications slower. This turned out to be the case both for Squirrelfish and V8. However, JavaScript in web applications have a large number of function calls, as much functionality is bound up to events.

We speculated on these function calls with thread-level speculation and our research shows that we are able to have an over eight fold speed-up on a eight core computer. More information about this research can be found at:

The use cases for 15 popular web applications. We see that in general just-in-time compilation lowers the speedup compared to the sequential execution time. Thread-level speculation however, always improves the speedup. The number in the parenthesis after the use case name is the relative execution improvement.

Last modified 6 years ago Last modified on Aug 2, 2013 10:27:12 AM

Attachments (1)

Download all attachments as: .zip