River Trail (JavaScript engine): Difference between revisions

Content deleted Content added
Added {{notability}} and {{ref improve}} tags to article (TW)
Thunder491 (talk | contribs)
Shorten short description
 
(21 intermediate revisions by 18 users not shown)
Line 1:
{{Short description|JavaScript engine developed by Intel}}
{{notability|date=October 2011}}
{{ref improve|date=October 2011}}
{{Infobox software
| name title = River Trail
| logo = <!-- File name only. -->
| title =
| logo screenshot = <!-- [[File: ]]name only. -->
| caption =
| screenshot = <!-- [[File: ]] -->
| author =
| caption =
| developer = Intel
| collapsible =
| released = <!-- {{Start date and age|YYYY2011|MM|DD09|df=yes/no}} -->
| author =
| discontinued = yes
| developer = Intel
| latest release version = v0.35.0
| released = <!-- {{Start date|YYYY|MM|DD|df=yes/no}} -->
| latest release date = <!--Intel: {{Start date and age|YYYY2015|MM02|DD09|df=yes/no}} -->
| discontinued =
| programming language = [[JavaScript]]
| latest release version =
| operating system =
| latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| platform =
| latest preview version =
| size =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| language = English
| frequently updated = <!-- DO NOT include this parameter unless you know what it does -->
*| genre = [[V8 (JavaScript engine)|V8]]
| programming language =
| license = [[BSD licenses#2-clause|BSD 2-clause]]
| operating system =
| website = {{URL|github.com/IntelLabs/RiverTrail}}
| platform =
| size =
| language =
| status =
| genre =
| license =
| website = {{URL|github.com/RiverTrail}}
}}
'''River Trail''' (also known as '''Parallel JavaScript''') is ana [[opensoftware sourceengine]], specifically a [[SoftwareJavaScript engine|engine]], developeddesigned by [[Intel]], for interpretingexecuting [[JavaScript]] code using [[parallel computing]] when theon [[microprocessormulti-core processor]] allows its. On September 2011It is still[[free underand development,open-source beingsoftware]] avaiblewith a prototype[[BSD extensionlicenses#2-clause|BSD for2-clause [[Firefoxlicense]]; so the development site recommends to use it only with trusted sites.<ref name="wkhome">{{Citation|title=Wiki: Home|url=https://github.com/RiverTrail/RiverTrail/wiki|accessdate=2011-09-14}}</ref>
 
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."<ref>{{cite news |last1=Metz |first1=Cade |date=17 September 2011 |title=Intel extends JavaScript for parallel programming |url=https://www.theregister.co.uk/2011/09/17/intel_parallel_javascript/ |work=[[The Register]] |access-date=2013-04-10}}</ref> Because River Trail leverages Intel's [[OpenCL]] SDK<ref>{{cite web|last=Hillar|first=Gaston|title=Introducing Intel Labs' River Trail|url=http://www.drdobbs.com/web-development/introducing-intel-labs-river-trail/231602396|work=Dr. Dobb's|date=29 September 2011|access-date=29 January 2014}}</ref> it can exploit multiple [[central processing unit]] (CPU) cores and [[Data parallelism|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,<ref>{{cite news |last1=Halfacree |first1=Gareth |date=13 September 2012 |title=Intel boosts JavaScript with River Trail release |url=http://www.bit-tech.net/news/bits/2012/09/13/intel-river-trail/1 |work=[[bit-tech]] |access-date=2013-04-10}}</ref> and added to Firefox nightly builds in April 2013.<ref>{{cite web |url=https://bugzilla.mozilla.org/show_bug.cgi?id=829602 |title=Bug 829602 - ParallelDo intrinsic and self-hosted ParallelArray |website=[[Mozilla Foundation]] |access-date=2013-04-10}}</ref> By January 2015, the code had been removed from Firefox.<ref>{{Cite web |url=https://bugzilla.mozilla.org/show_bug.cgi?id=801869 |title=Bug 801869 - (PJS) PJS: Efficient threaded runtime for data-parallel JavaScript|date=2015-01-19|access-date=2015-04-23 |website=Bugzilla@Mozilla |publisher=Mozilla Foundation |last1= |first1=}}</ref><ref>{{Cite web |url=https://groups.google.com/forum/m/#!topic/mozilla.dev.tech.js-engine/H-YEsejE6DA |title=PJS has been removed from Spidermonkey |access-date=2017-10-18}}</ref>
 
== Operation ==
To use the engine scripts uses a special [[API]], based on three pillars: a [[Datadata type|type]] callednamed <code>ParallelArray</code>, several methods of [[Prototype-based programming|Prototypeprototype]] of <code>ParallelArray</code>, and elementary functions.<ref name="wk3p">{{CitationCite web |title=Three pillars of the API|url=https://github.com/RiverTrail/RiverTrail/wiki/Three-Pillars-of-the-API |accessdateaccess-date=2011-09-14}}</ref>
 
==References==
{{reflist|2Reflist}}
 
==SeeExternal alsolinks==
* {{GitHub|IntelLabs/RiverTrail}}, source code
* [[V8 (JavaScript engine)|V8]]
* Tour of the SpiderMonkey Parallel JS Implementation: [http://smallcultfollowing.com/babysteps/blog/2013/03/20/a-tour-of-the-parallel-js-implementation/ Part 1]; [http://smallcultfollowing.com/babysteps/blog/2013/04/04/a-tour-of-the-parallel-js-implementation-part-2/ Part 2]
* [[SpiderMonkey (JavaScript engine)]]
* InfoQ interview: [http://www.infoq.com/interviews/rick-hudson-rivertrail Rick Hudson on Parallel JavaScript (RiverTrail)]
* [http://wiki.ecmascript.org/doku.php?id=strawman:data_parallelism Proposed Parallel EcmaScript API]
* [https://groups.google.com/forum/?fromgroups#!forum/mozilla.dev.tech.js-engine.rivertrail mozilla.dev.tech.js-engine.rivertrail discussion group]
 
{{JavaScript}}
[[Category:Intel Corporation]]
[[Category:JavaScript engines]]
 
[[esCategory:RiverIntel Trailsoftware]]
[[Category:JavaScript engines]]