Navigation


SpiderMonkey

12.03.2012 @ 14:29, ,

{{Infobox Software
| Name = SpiderMonkey
| Maintainer = Mozilla Foundation
| Hersteller = Mozilla Foundation
| Management = Mozilla Foundation
| Betriebssystem = plattformübergreifend
| Programmiersprache = C
| Lizenz = MPL
| Deutsch = Nein
| Website = http://www.mozilla.org/js/spidermonkey/

}}

SpiderMonkey ist der Codename für die erste jemals entwickelte JavaScript-Engine, welche von Brendan Eich von Netscape Communications herausgebracht und später als Open Source freigegeben wurde. SpiderMonkey wird nun von der Mozilla Foundation weiterentwickelt.

Grundlagen


SpiderMonkey ist in C geschrieben und enthält einen Compiler, Interpreter, Decompiler, ein Tool für die automatische Speicherbereinigung sowie Standard-Klassen. Es liefert allerdings keine host environments wie z. B. Document Object Model (DOM).

Der Nutzen von SpiderMonkey soll sein, in andere Programme integriert zu werden, welche host environments für Javascript liefern. Die bekanntesten Programme sind Mozilla Firefox und die Mozilla Application Suite/SeaMonkey, darüber hinaus noch Adobe Acrobat und der Adobe Reader. SpiderMonkey ist ferner noch die JavaScript-Engine von Yahoo Widgets (besser bekannt als "Konfabulator") und UOX3 (UOX), einem Emulator für das Onlinespiel Ultima Online. Eine weitere bekannte und kreative Verwendung der SpiderMonkey Javascript-Engine ist das Open-Source-Suite Sphere, welche aus Programmen besteht, die primär für das Designen von Rollenspielen gedacht sind.
Auch das dokumentenbasierte Datenbanksystem CouchDB führt über SpiderMonkey JavaScript-Code aus.

SpiderMonkey und seine Schwesterengine Rhino haben Unterstützung für den ECMAScript for XML (E4X)-Standard implementiert.

Weiterentwicklung

Zwischen 2006 und 2008 wurde versucht, das von Adobe an Mozilla gestiftete Tamarin in SpiderMonkey zu integrieren, um eine verbesserte Engine zu erhalten, die von Mozilla und Adobe parallel genutzt werden kann. Tamarin wurde damals von Adobe um eine experimentelle Optimierungsfunktion namens Tracing erweitert, durch welche ein Geschwindigkeitsvorteil erhofft wurde. Das „ActionMonkey“ genannte Projekt wurde 2008 eingestellt, da unter anderem die erhofften Geschwindigkeitsverbesserungen gegenüber SpiderMonkey nicht erreicht wurden, andererseits in SpiderMonkey schon enthaltene Fähigkeiten für Tamarin/ActionMonkey hätten neu umgesetzt werden müssen.Mozilla Corporation: [https://wiki.mozilla.org/JavaScript:ActionMonkey JavaScript:ActionMonkey], abgerufen am 20. Februar 2009, englisch

TraceMonkey

Seit 2008 wird SpiderMonkey unter dem Projektnamen „TraceMonkey“ um verbesserte Tracingfunktionen[http://www.ics.uci.edu/~franz/Site/pubs-pdf/ICS-TR-07-12.pdf Andreas Gal, Michael Bebenita, Mason Chang und Michael Franz: Making the Compilation „Pipeline“ Explicit: Dynamic Compilation Using Trace Tree Serialization] erweitert.Mozilla Corporation: [https://wiki.mozilla.org/JavaScript:TraceMonkey JavaScript:TraceMonkey], abgerufen am 20. Februar 2009, englisch Die neue Engine ist erstmals in Firefox 3.5 enthalten.Brendan Eich: [http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html TraceMonkey: JavaScript Lightspeed], 23. August 2008, englischheise Newsticker: [http://www.heise.de/newsticker/Firefox-Entwickler-planen-weiten-Versionssprung--/meldung/134101 Firefox-Entwickler planen weiten Versionssprung], 6. März 2009 Durch die neue Engine wird in einigen Fällen ein Geschwindigkeitsvorteil um den Faktor 20 bis 40 gegenüber der Vorgängerversion erreicht.http://arstechnica.com/news.ars/post/20080822-firefox-to-get-massive-javascript-performance-boost.html

JägerMonkey


JägerMonkey ist ein Projekt, das die JavaScript-Engine SpiderMonkey beschleunigen will. Dieses Ziel soll durch zusätzliche Optimierungen am Quellcode erreicht werden.http://www.bailopan.net/blog/?p=683 Es fügt Inline Threading hinzu und nutzt den Assembler von Nitro, der JavaScript-Engine von WebKit.https://wiki.mozilla.org/JaegerMonkey

Siehe auch


* Rhino

Quellen


Weblinks


* [http://www.mozilla.org/js/spidermonkey/ Mozilla-Projektseite über SpiderMonkey]

* [https://developer.mozilla.org/en/docs/SpiderMonkey SpiderMonkey-Dokumentation]

Kategorie:Mozilla
Kategorie:ECMAScript

Kategorie:Freies Programmierwerkzeug

cs:SpiderMonkey
SpiderMonkey (JavaScript engine)
es:SpiderMonkey
SpiderMonkey
ja:SpiderMonkey
pl:SpiderMonkey
ru:SpiderMonkey
uk:SpiderMonkey
zh:SpiderMonkey

weiter

Text und Bilder dieses Beitrags stammen aus dem Artikel SpiderMonkey der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License. Die Liste der Autoren ist in der Wikipedia unter dieser Seite verfügbar, der Original-Artikel lässt sich hier bearbeiten.