We are being confronted with two phenomena that will greatly influence the way people experience the internet. On one hand the browser, with JavaScript as embedded programming language, is getting more important as application delivery platform. On the other hand we are confronted with the multicore revolution. Both desktop machines and mobile devices are already equipped with processors that contain multiple cores. Applications that take advantage of the underlying parallel hardware are able to execute tasks in parallel, which benefits the performance and responsiveness of those applications. Despite the fact that many desktop applications already make use of multiple cores during their execution, the multicore revolution has mostly ignored web applications, leaving the potentential processing power on the client-side virtually unused. To keep up with the demand for ever increasing performance coupled to acceptable response times, browser applications will have to make use of multiple cores during execution. This is possible by designing them with concurrency in mind. Web Workers1 is a standard JavaScript API that makes it possible to add actor-like concurrency to an application.
[1]
Coen De Roover,et al.
Automatic Parallelization of Side-Effecting Higher-Order Scheme Programs
,
2011,
2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation.
[2]
Peter Thiemann,et al.
Type Analysis for JavaScript
,
2009,
SAS.
[3]
Huiqing Li,et al.
Clone detection and removal for Erlang/OTP within a refactoring environment
,
2009,
PEPM '09.
[4]
Huiqing Li,et al.
Refactoring with wrangler, updated: data and process refactorings, and integration with eclipse
,
2008,
ERLANG '08.
[5]
Matthew Might,et al.
Exploiting reachability and cardinality in higher-order flow analysis
,
2008,
J. Funct. Program..
[6]
Olin Shivers,et al.
Pushdown flow analysis of first-class control
,
2011,
ICFP '11.
[7]
Frank Tip,et al.
Tool-supported refactoring for JavaScript
,
2011,
OOPSLA '11.