SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
JS Engine Performance



                       Chișcă Ștefan
              Nicolaescu Cristi-Adrian
                            an III, 4A
JavaScript
Is a prototype-based scripting language that is
dynamic, weakly typed and has first-class
functions.
Is a multi-paradigm language, supporting object-
oriented, imperative and functional programming
styles.
Is primarily used in the form of client-side
JavaScript, implemented as part of a Web
browser in order to provide enhanced user
interfaces and dynamic websites.
JavaScript engine

Also known as JavaScript interpreter or
JavaScript implementation, it is a
specialized computer software which
interprets and executes JavaScript code.
Although there are several uses for a
JavaScript engine, it is most commonly
used in web browsers.
Browser's 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
Browser's 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
Browser's JavaScript engines
 Other
    KJS - KDE's ECMAScript/JavaScript engine originally
     developed by Harri Porten for the KDE project's 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
V8 (JavaScript engine)
The Google V8 JavaScript Engine is an open
source JavaScript engine developed by Google
and ships with the Google Chrome web browser.
V8 increases performance by compiling
JavaScript to native machine code before
executing it, rather than to execute bytecode or
interpreting it. Further performance increases are
achieved by employing optimization techniques
such as inline caching.
It's written in C++, JavaScript, Assembly.
JägerMonkey
JägerMonkey (also JaegerMonkey) is a
JavaScript engine released for Firefox 4 and later
versions. It has "Method JIT" and a new
assembler based on Safari's Nitro. It is an
upgrade to the SpiderMonkey JavaScript engine
for the Firefox browser by Mozilla.
The "Method JIT" from JägerMonkey and the
"Tracing JIT" from TraceMonkey will be combined
to make SpiderMonkey even faster.
WebKit
WebKit is a layout engine used by Safari and Google
Chrome, designed to allow web browsers to render
web pages.
JavaScriptCore is a framework that provides a
JavaScript engine for WebKit implementations, and
provides this type of scripting in other contexts within
Mac OS X. JavaScriptCore is originally derived from
KDE's JavaScript engine (KJS) library (which is part
of the KDE project) and the PCRE regular expression
library. Since forking from KJS and PCRE,
JavaScriptCore has been improved with many new
features and greatly improved performance.
JavaScriptCore
On June 2, 2008, the WebKit project announced
they rewrote JavaScriptCore as "SquirrelFish", a
bytecode interpreter. The project evolved into
SquirrelFish Extreme (abbreviated SFX, marketed
as Nitro), announced on September 18, 2008, which
compiles JavaScript into native machine code,
eliminating the need for a bytecode interpreter and
thus speeding up JavaScript execution.
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.
Chakra (JavaScript engine)
Chakra is a JavaScript engine developed by
Microsoft for its Internet Explorer 9 (IE9) web
browser. A distinctive feature of the 32-bit version
of the engine is that it JIT compiles scripts on a
separate CPU core, parallel to the web browser.
The engine is also able to access the computer's
graphics processing unit (GPU), in particular for
3D graphics and video.

Más contenido relacionado

La actualidad más candente

Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET CoreEnea Gabriel
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCSaineshwar bageri
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET CoreAvanade Nederland
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsKen Cenerelli
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfonyFrancois Zaninotto
 
Enjector Kernel - Workflow Module Demo
Enjector Kernel  - Workflow Module DemoEnjector Kernel  - Workflow Module Demo
Enjector Kernel - Workflow Module DemoAjay Soni
 
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniterCodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniterWeerayut Hongsa
 
What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0Jon Galloway
 
Taking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWSTaking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWSJessie Yi Wei
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolAlessandro Cinelli (cirpo)
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnetRick van den Bosch
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreBaris Ceviz
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3Andrea Dottor
 
Intro to Perfect - LA presentation
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentationTim Taplin
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 

La actualidad más candente (20)

Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET Core
 
ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVC
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
 
Enjector Kernel - Workflow Module Demo
Enjector Kernel  - Workflow Module DemoEnjector Kernel  - Workflow Module Demo
Enjector Kernel - Workflow Module Demo
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniterCodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
 
What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0
 
Frappe framework
Frappe framework Frappe framework
Frappe framework
 
Athens Ruby Meetup #3: IronRuby
Athens Ruby Meetup #3: IronRubyAthens Ruby Meetup #3: IronRuby
Athens Ruby Meetup #3: IronRuby
 
Taking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWSTaking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWS
 
.Net Core
.Net Core.Net Core
.Net Core
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the fool
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3
 
Intro to Perfect - LA presentation
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentation
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 

Destacado

Moving up transition document draft march 6
Moving up transition document draft   march 6Moving up transition document draft   march 6
Moving up transition document draft march 6qrobertson
 
Gssd at a glance tables
Gssd at a glance tablesGssd at a glance tables
Gssd at a glance tablesqrobertson
 
Ssc calendar 2012 13 april
Ssc calendar 2012 13  aprilSsc calendar 2012 13  april
Ssc calendar 2012 13 aprilqrobertson
 
Summary reports from april 2012
Summary reports from april 2012Summary reports from april 2012
Summary reports from april 2012qrobertson
 
Moving up transition document draft march 6
Moving up transition document draft   march 6Moving up transition document draft   march 6
Moving up transition document draft march 6qrobertson
 
Gssd strategic objectives may1.2012 rev
Gssd strategic objectives may1.2012 revGssd strategic objectives may1.2012 rev
Gssd strategic objectives may1.2012 revqrobertson
 
5 year pd continuum sept. 9
5 year pd continuum   sept. 95 year pd continuum   sept. 9
5 year pd continuum sept. 9qrobertson
 

Destacado (8)

Moving up transition document draft march 6
Moving up transition document draft   march 6Moving up transition document draft   march 6
Moving up transition document draft march 6
 
May 15 report
May 15 reportMay 15 report
May 15 report
 
Gssd at a glance tables
Gssd at a glance tablesGssd at a glance tables
Gssd at a glance tables
 
Ssc calendar 2012 13 april
Ssc calendar 2012 13  aprilSsc calendar 2012 13  april
Ssc calendar 2012 13 april
 
Summary reports from april 2012
Summary reports from april 2012Summary reports from april 2012
Summary reports from april 2012
 
Moving up transition document draft march 6
Moving up transition document draft   march 6Moving up transition document draft   march 6
Moving up transition document draft march 6
 
Gssd strategic objectives may1.2012 rev
Gssd strategic objectives may1.2012 revGssd strategic objectives may1.2012 rev
Gssd strategic objectives may1.2012 rev
 
5 year pd continuum sept. 9
5 year pd continuum   sept. 95 year pd continuum   sept. 9
5 year pd continuum sept. 9
 

Similar a Jsep

Js engines
Js enginesJs engines
Js enginesTarzan2
 
JavaScript for ABAP Programmers - 1/7 Introduction
JavaScript for ABAP Programmers - 1/7 IntroductionJavaScript for ABAP Programmers - 1/7 Introduction
JavaScript for ABAP Programmers - 1/7 IntroductionChris Whealy
 
Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Brent Noorda
 
Java ScriptingJava Scripting: One VM, Many Languages
Java ScriptingJava Scripting: One VM, Many LanguagesJava ScriptingJava Scripting: One VM, Many Languages
Java ScriptingJava Scripting: One VM, Many Languageselliando dias
 
Chrome v8 web: the open source javascript
Chrome v8 web: the open source javascriptChrome v8 web: the open source javascript
Chrome v8 web: the open source javascriptabn17p
 
WebAssembly
WebAssemblyWebAssembly
WebAssemblyJawahar
 
Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Alexandre Morgaut
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSAlexandre Morgaut
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornMaxime Najim
 
Contributing To The Mozilla Codebase
Contributing To The Mozilla CodebaseContributing To The Mozilla Codebase
Contributing To The Mozilla CodebaseSouradeep De
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013Alexandre Morgaut
 

Similar a Jsep (20)

Js engines
Js enginesJs engines
Js engines
 
JavaScript for ABAP Programmers - 1/7 Introduction
JavaScript for ABAP Programmers - 1/7 IntroductionJavaScript for ABAP Programmers - 1/7 Introduction
JavaScript for ABAP Programmers - 1/7 Introduction
 
Asm.js introduction
Asm.js introductionAsm.js introduction
Asm.js introduction
 
Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.
 
Java ScriptingJava Scripting: One VM, Many Languages
Java ScriptingJava Scripting: One VM, Many LanguagesJava ScriptingJava Scripting: One VM, Many Languages
Java ScriptingJava Scripting: One VM, Many Languages
 
Chrome v8 web: the open source javascript
Chrome v8 web: the open source javascriptChrome v8 web: the open source javascript
Chrome v8 web: the open source javascript
 
Java Class1
Java Class1Java Class1
Java Class1
 
WebAssembly
WebAssemblyWebAssembly
WebAssembly
 
Java presentation
Java presentationJava presentation
Java presentation
 
Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017
 
Core java slides
Core java slidesCore java slides
Core java slides
 
Nashorn
NashornNashorn
Nashorn
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJS
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with Nashorn
 
API
APIAPI
API
 
API
APIAPI
API
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
Contributing To The Mozilla Codebase
Contributing To The Mozilla CodebaseContributing To The Mozilla Codebase
Contributing To The Mozilla Codebase
 
Turbo charging v8 engine
Turbo charging v8 engineTurbo charging v8 engine
Turbo charging v8 engine
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 

Último

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Jsep

  • 1. JS Engine Performance Chișcă Ștefan Nicolaescu Cristi-Adrian an III, 4A
  • 2. JavaScript Is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. Is a multi-paradigm language, supporting object- oriented, imperative and functional programming styles. Is primarily used in the form of client-side JavaScript, implemented as part of a Web browser in order to provide enhanced user interfaces and dynamic websites.
  • 3. JavaScript engine Also known as JavaScript interpreter or JavaScript implementation, it is a specialized computer software which interprets and executes JavaScript code. Although there are several uses for a JavaScript engine, it is most commonly used in web browsers.
  • 4. Browser's 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. Browser's 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. Browser's JavaScript engines Other KJS - KDE's ECMAScript/JavaScript engine originally developed by Harri Porten for the KDE project's 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. V8 (JavaScript engine) The Google V8 JavaScript Engine is an open source JavaScript engine developed by Google and ships with the Google Chrome web browser. V8 increases performance by compiling JavaScript to native machine code before executing it, rather than to execute bytecode or interpreting it. Further performance increases are achieved by employing optimization techniques such as inline caching. It's written in C++, JavaScript, Assembly.
  • 8. JägerMonkey JägerMonkey (also JaegerMonkey) is a JavaScript engine released for Firefox 4 and later versions. It has "Method JIT" and a new assembler based on Safari's Nitro. It is an upgrade to the SpiderMonkey JavaScript engine for the Firefox browser by Mozilla. The "Method JIT" from JägerMonkey and the "Tracing JIT" from TraceMonkey will be combined to make SpiderMonkey even faster.
  • 9. WebKit WebKit is a layout engine used by Safari and Google Chrome, designed to allow web browsers to render web pages. JavaScriptCore is a framework that provides a JavaScript engine for WebKit implementations, and provides this type of scripting in other contexts within Mac OS X. JavaScriptCore is originally derived from KDE's JavaScript engine (KJS) library (which is part of the KDE project) and the PCRE regular expression library. Since forking from KJS and PCRE, JavaScriptCore has been improved with many new features and greatly improved performance.
  • 10. JavaScriptCore On June 2, 2008, the WebKit project announced they rewrote JavaScriptCore as "SquirrelFish", a bytecode interpreter. The project evolved into SquirrelFish Extreme (abbreviated SFX, marketed as Nitro), announced on September 18, 2008, which compiles JavaScript into native machine code, eliminating the need for a bytecode interpreter and thus speeding up JavaScript execution.
  • 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. Chakra (JavaScript engine) Chakra is a JavaScript engine developed by Microsoft for its Internet Explorer 9 (IE9) web browser. A distinctive feature of the 32-bit version of the engine is that it JIT compiles scripts on a separate CPU core, parallel to the web browser. The engine is also able to access the computer's graphics processing unit (GPU), in particular for 3D graphics and video.