River Trail (JavaScript engine)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
River Trail
Developer(s) Intel
Website github.com/IntelLabs/RiverTrail

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]


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]


  1. ^ Cade Metz (17 September 2011). "Intel extends JavaScript for parallel programming". The Register. Retrieved 2013-04-10. 
  2. ^ Hillar, Gaston (29 September 2011). "Introducing Intel Labs' River Trail". Dr. Dobb's. Retrieved 29 January 2014. 
  3. ^ Gareth Halfacree (13 September 2012). "Intel boosts JavaScript with River Trail release". bit-tech. Retrieved 2013-04-10. 
  4. ^ "Bug 829602 - ParallelDo intrinsic and self-hosted ParallelArray". Mozilla Foundation. Retrieved 2013-04-10. 
  5. ^ "Bug 801869 - (PJS) PJS: Efficient threaded runtime for data-parallel JavaScript". Bugzilla@Mozilla. Mozilla Foundation. 2015-01-19. Retrieved 2015-04-23. 
  6. ^ https://groups.google.com/forum/m/#!topic/mozilla.dev.tech.js-engine/H-YEsejE6DA.  Missing or empty |title= (help)
  7. ^ Three pillars of the API, retrieved 2011-09-14 

External links[edit]