Published on

Javascript engine performance

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. JS Engine Performance Chișcă Ștefan Nicolaescu Cristi-Adrian an III, 4A
  2. 2. JavaScriptIs a prototype-based scripting language that isdynamic, weakly typed and has first-classfunctions.Is a multi-paradigm language, supporting object-oriented, imperative and functional programmingstyles.Is primarily used in the form of client-sideJavaScript, implemented as part of a Webbrowser in order to provide enhanced userinterfaces and dynamic websites.
  3. 3. JavaScript engineAlso known as JavaScript interpreter orJavaScript implementation, it is aspecialized computer software whichinterprets and executes JavaScript code.Although there are several uses for aJavaScript engine, it is most commonlyused in web browsers.
  4. 4. Browsers JavaScript engines Google V8 - open source, developed by Google in Denmark, part of Google Chrome Mozilla Rhino - managed by the Mozilla Foundation, open source, developed entirely in Java SpiderMonkey (code name) - the first ever JavaScript engine, writtenfor Netscape TraceMonkey - the engine promoted with Firefox 3.5 JägerMonkey - the engine promoted with Firefox 4 IonMonkey - JIT compiler optimization for SpiderMonkey Tamarin - by Adobe Labs
  5. 5. Browsers JavaScript engines Opera Carakan - by Opera Software, used since Opera 10.50 Futhark - by Opera Software, replaced by Carakan in Opera 10.50 (released March 2010) Safari JavaScriptCore - renamed to SquirrelFish and marketed as Nitro, for Safari
  6. 6. Browsers JavaScript engines Other KJS - KDEs ECMAScript/JavaScript engine originally developed by Harri Porten for the KDE projects Konqueror web browser Narcissus open source - written by Brendan Eich, who also wrote SpiderMonkey Chakra - for Internet Explorer 9 dyn.js - open source, written by Douglas Campos and others Nashorn - open source (pending), written by Oracle Java Languages and Tool Group
  7. 7. V8 (JavaScript engine)The Google V8 JavaScript Engine is an opensource JavaScript engine developed by Googleand ships with the Google Chrome web browser.V8 increases performance by compilingJavaScript to native machine code beforeexecuting it, rather than to execute bytecode orinterpreting it. Further performance increases areachieved by employing optimization techniquessuch as inline caching.Its written in C++, JavaScript, Assembly.
  8. 8. JägerMonkeyJägerMonkey (also JaegerMonkey) is aJavaScript engine released for Firefox 4 and laterversions. It has "Method JIT" and a newassembler based on Safaris Nitro. It is anupgrade to the SpiderMonkey JavaScript enginefor the Firefox browser by Mozilla.The "Method JIT" from JägerMonkey and the"Tracing JIT" from TraceMonkey will be combinedto make SpiderMonkey even faster.
  9. 9. WebKitWebKit is a layout engine used by Safari and GoogleChrome, designed to allow web browsers to renderweb pages.JavaScriptCore is a framework that provides aJavaScript engine for WebKit implementations, andprovides this type of scripting in other contexts withinMac OS X. JavaScriptCore is originally derived fromKDEs JavaScript engine (KJS) library (which is partof the KDE project) and the PCRE regular expressionlibrary. Since forking from KJS and PCRE,JavaScriptCore has been improved with many newfeatures and greatly improved performance.
  10. 10. JavaScriptCoreOn June 2, 2008, the WebKit project announcedthey rewrote JavaScriptCore as "SquirrelFish", abytecode interpreter. The project evolved intoSquirrelFish Extreme (abbreviated SFX, marketedas Nitro), announced on September 18, 2008, whichcompiles JavaScript into native machine code,eliminating the need for a bytecode interpreter andthus speeding up JavaScript execution.
  11. 11. Carakan (JavaScript engine) Opera began to use the Carakan engine in early 2009. Carakan engine features register-based bytecode, native code generation, automatic object classification and overall performance improvements. Early access in the Opera 10.50 pre-alpha showed that it is as fast as the fastest competitors, being the winner in 2 out of the 3 most used benchmarks.
  12. 12. Chakra (JavaScript engine)Chakra is a JavaScript engine developed byMicrosoft for its Internet Explorer 9 (IE9) webbrowser. A distinctive feature of the 32-bit versionof the engine is that it JIT compiles scripts on aseparate CPU core, parallel to the web browser.The engine is also able to access the computersgraphics processing unit (GPU), in particular for3D graphics and video.