River Trail (JavaScript engine)
Developer(s) | Intel |
---|---|
Repository | |
Website | github |
River Trail (also known as Parallel JavaScript) is an open-source software engine designed by Intel for executing JavaScript code using parallel computing on multi-core processors.
River Trail was announced at the Intel Developer Forum in September 2011, and demonstrated using a Firefox extension developed by Intel. Brendan Eich, the original author of JavaScript, promised that he would promote River Trail within Ecma International, saying "The demo shows a 15x speedup over serial JavaScript. It lights up the ridiculously parallel hardware in modern CPUs and GPUs, for audio, video, image processing, automated voice response, computer vision, 3D gaming, etc. – all written in memory-safe, clean, functional JavaScript, without threads and their data races and deadlocks."[1] Because River Trail leverages Intel's OpenCL SDK[2] it can exploit multiple CPU cores as well as data parallel instructions (ex. AVX, SSE) and the speedup can be greater than the CPU core count would imply.
A native implementation of River Trail in Firefox's SpiderMonkey JavaScript engine was announced in September 2012[3] and was added to nightly Firefox builds in April 2013.[4] By January 2015, the code had been removed from Firefox.[5][6]
Operation
To use the engine scripts uses a special API, based on three pillars: a type called ParallelArray
, several methods of Prototype of ParallelArray
, and elementary functions.[7]
References
- ^ Cade Metz (17 September 2011). "Intel extends JavaScript for parallel programming". The Register. Retrieved 2013-04-10.
- ^ Hillar, Gaston (29 September 2011). "Introducing Intel Labs' River Trail". Dr. Dobb's. Retrieved 29 January 2014.
- ^ Gareth Halfacree (13 September 2012). "Intel boosts JavaScript with River Trail release". bit-tech. Retrieved 2013-04-10.
- ^ "Bug 829602 - ParallelDo intrinsic and self-hosted ParallelArray". Mozilla Foundation. Retrieved 2013-04-10.
- ^ "Bug 801869 - (PJS) PJS: Efficient threaded runtime for data-parallel JavaScript". Bugzilla@Mozilla. Mozilla Foundation. 2015-01-19. Retrieved 2015-04-23.
- ^ "PJS has been removed from Spidermonkey". Retrieved 2017-10-18.
- ^ Three pillars of the API, retrieved 2011-09-14
External links
- Tour of the SpiderMonkey Parallel JS Implementation: Part 1; Part 2
- InfoQ interview: Rick Hudson on Parallel JavaScript (RiverTrail)
- Proposed Parallel EcmaScript API
- mozilla.dev.tech.js-engine.rivertrail discussion group
- RiverTrail source on GitHub