River Trail (JavaScript engine)

From Wikipedia, the free encyclopedia
(Redirected from Parallel Javascript)
Jump to navigation Jump to search
River Trail
DeveloperIntel
Initial releaseSeptember 2011; 14 years ago (2011-09)
Final release
v0.35.0 / Intel: 9 February 2015; 11 years ago (2015-02-09)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inJavaScript
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Available inEnglish
    TypeJavaScript engine
    LicenseBSD 2-clause
    Websitegithub.com/IntelLabs/RiverTrail

    River Trail (also known as Parallel JavaScript) is a software engine, specifically a JavaScript engine, designed by Intel for executing JavaScript code using parallel computing on multi-core processors. It is free and open-source software with a BSD 2-clause license.

    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 central processing unit (CPU) cores and data parallel instructions (ex. Advanced Vector Extensions (AVX), Streaming SIMD Extensions (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 added to Firefox nightly builds in April 2013.[4] By January 2015, the code had been removed from Firefox.[5][6]

    Operation

    [edit | edit source]

    To use the engine scripts uses a special API, based on three pillars: a data type named ParallelArray, several methods of prototype of ParallelArray, and elementary functions.[7]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]