SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
JägerMonkey
Mozzila Firefox
JägerMonkey a apărut ca urmașul lui SpiderMonkey,
care rula pe linii de cod tractabil foarte rapid, însă pentru
codul netractabil se bloca la interpretor care nu era tocmai
rapid.
       Pentru aceste probleme, cei de la Mozzila au folosit
codul creat de dezvoltatorii de la WebKit, care era open-
source și scris în C++, l-au adaptat la librăriile lor și l-au
incorporat în sistem.
       Pe lângă aceasta, au mai făcut modificări asupra
interpretorului. Au rearanjat spațiul de memorare al
frame-urilor stocate și doar prin asta au obținut o
îmbunătățire de 3-5% a vitezei.
Google V8
Google Chrome
V8 este un motor javascript de înaltă
performanță, open-source, de la Google. Este scris
în C++ și este utilizat în browserul Google Chrome.
     V8 conține infrastructura compilatoare
Crankshaft care îmbunătățește dramatic
performanța aplicaților JavaScript.
     Crankshaft are patru mari componente:
• un base compiler care generează cod rapid, fără
  optimizări majore.
• un runtime profiler care monitorizează codul în
  curs de rulare și identifică porțiunile de cod a
  căror rulare durează mai mult.
• un optimizing compiler care recompilează și
  optimizează codul identificat mai sus pe baza
  informațiilor colectate de base compiler.
• un deoptimization support care permite
  compilarea optimizată să fie optimistică,
  presupunând că o face atunci când se generează
  cod.
Nitro
Safari
Este denumirea de marketing a SquirrelFish
Extreme, abreviat SFX, o extensie a SquirrelFish.
     El compilează JavaScript-urile în cod sursă
nativ eliminând nevoia interpretorului de
bytecode și prin asta mărind viteza de execuție a
JavaScript-urilor.
     Pentru a-i crește performanța cei de la
WebKit au folosit Polymorphic Inline Cache,
presupune memorarea anumitor StructuriID și
folosirea lor în caz de repetare la următoarele
rulări.
Chakra
Internet Explorer 9
Este un motor JavaScript dezvoltat de
Microsoft pentru Internet Explorer 9. O
caracteristică aparte a versiunii pe 32 biți este că
JIT-ul ei compilează pe un CPU core separat,
paralel cu browserul. Motorul desre de asemenea
capabil să acceseze GPU-ul, în mod special pentru
grafica 3D și video.
      Îmbunătățirile aduse browser-ului au fost ca
răspuns la evoluția browser-elor competitive.
Testele SunSpider efectuate la 18 Noiembrie 2009
arată ca IE9 este mult mai rapid decât IE8, însă
mai încet decât Firefox 3.6, Chrome 4 și WebKit
Nightly.

Más contenido relacionado

Destacado

JavaScript in JavaScript: Inception (JSConf EU 2014)
JavaScript in JavaScript: Inception (JSConf EU 2014)JavaScript in JavaScript: Inception (JSConf EU 2014)
JavaScript in JavaScript: Inception (JSConf EU 2014)Igalia
 
Cross app development
Cross app developmentCross app development
Cross app developmentIonut Balan
 
Wordcamp 2012 - Wordpress pentru web development
Wordcamp 2012 - Wordpress pentru web developmentWordcamp 2012 - Wordpress pentru web development
Wordcamp 2012 - Wordpress pentru web developmentAndrei Diaconu
 
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptCLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptSabin Buraga
 
Functional practices in JavaScript
Functional practices in JavaScriptFunctional practices in JavaScript
Functional practices in JavaScriptEugene Lazutkin
 
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...Sabin Buraga
 
Js Data Visualization
Js Data VisualizationJs Data Visualization
Js Data Visualizationcoscotin
 
Web browser extensions development
Web browser extensions developmentWeb browser extensions development
Web browser extensions developmentConstantin Lucian
 
Concepte de programare functionala in Javascript
Concepte de programare functionala in JavascriptConcepte de programare functionala in Javascript
Concepte de programare functionala in JavascriptAlexandru Badiu
 
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.js
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.jsWeb 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.js
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.jsSabin Buraga
 
Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internetdyyyenutzzza
 
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...Codecamp Romania
 
Functional programming in java script
Functional programming in java scriptFunctional programming in java script
Functional programming in java scriptthinkphp
 

Destacado (14)

JavaScript in JavaScript: Inception (JSConf EU 2014)
JavaScript in JavaScript: Inception (JSConf EU 2014)JavaScript in JavaScript: Inception (JSConf EU 2014)
JavaScript in JavaScript: Inception (JSConf EU 2014)
 
Cross app development
Cross app developmentCross app development
Cross app development
 
Wordcamp 2012 - Wordpress pentru web development
Wordcamp 2012 - Wordpress pentru web developmentWordcamp 2012 - Wordpress pentru web development
Wordcamp 2012 - Wordpress pentru web development
 
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptCLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
 
Functional practices in JavaScript
Functional practices in JavaScriptFunctional practices in JavaScript
Functional practices in JavaScript
 
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
 
Js Data Visualization
Js Data VisualizationJs Data Visualization
Js Data Visualization
 
Web browser extensions development
Web browser extensions developmentWeb browser extensions development
Web browser extensions development
 
Concepte de programare functionala in Javascript
Concepte de programare functionala in JavascriptConcepte de programare functionala in Javascript
Concepte de programare functionala in Javascript
 
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.js
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.jsWeb 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.js
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.js
 
Web Browser Extension Development
Web Browser Extension DevelopmentWeb Browser Extension Development
Web Browser Extension Development
 
Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internet
 
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
 
Functional programming in java script
Functional programming in java scriptFunctional programming in java script
Functional programming in java script
 

Similar a JavaScript engines

Web Storage Performance
Web Storage PerformanceWeb Storage Performance
Web Storage PerformanceMihai Valache
 
Mozilla firefox features meetup
Mozilla firefox features   meetup Mozilla firefox features   meetup
Mozilla firefox features meetup Vlad Maniak
 
Arhitectura browser-ului Web
Arhitectura browser-ului WebArhitectura browser-ului Web
Arhitectura browser-ului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
Java enterprise real world
Java enterprise real worldJava enterprise real world
Java enterprise real worlddpmihai
 
10 browsere de internet necunoscute
10 browsere de internet necunoscute10 browsere de internet necunoscute
10 browsere de internet necunoscuteDu Ghe
 
06 php instalation_ro
06 php instalation_ro06 php instalation_ro
06 php instalation_romcroitor
 
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului WebCLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului WebSabin Buraga
 
Introducere in symfony2
Introducere in symfony2Introducere in symfony2
Introducere in symfony2Roman Claudiu
 
Instalare si administrare site grid
Instalare si administrare site gridInstalare si administrare site grid
Instalare si administrare site gridalexstanciu
 
Programatica codepax-16-11-2012
Programatica codepax-16-11-2012Programatica codepax-16-11-2012
Programatica codepax-16-11-2012Agora Group
 

Similar a JavaScript engines (15)

Js engine performance
Js engine performanceJs engine performance
Js engine performance
 
Js engine performance
Js engine performanceJs engine performance
Js engine performance
 
Web Storage Performance
Web Storage PerformanceWeb Storage Performance
Web Storage Performance
 
Mozilla firefox features meetup
Mozilla firefox features   meetup Mozilla firefox features   meetup
Mozilla firefox features meetup
 
Arhitectura browser-ului Web
Arhitectura browser-ului WebArhitectura browser-ului Web
Arhitectura browser-ului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
Webpack
Webpack Webpack
Webpack
 
Java enterprise real world
Java enterprise real worldJava enterprise real world
Java enterprise real world
 
10 browsere de internet necunoscute
10 browsere de internet necunoscute10 browsere de internet necunoscute
10 browsere de internet necunoscute
 
06 php instalation_ro
06 php instalation_ro06 php instalation_ro
06 php instalation_ro
 
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului WebCLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
 
Raytracing Distribuit
Raytracing DistribuitRaytracing Distribuit
Raytracing Distribuit
 
Introducere in symfony2
Introducere in symfony2Introducere in symfony2
Introducere in symfony2
 
Instalare si administrare site grid
Instalare si administrare site gridInstalare si administrare site grid
Instalare si administrare site grid
 
Programatica codepax-16-11-2012
Programatica codepax-16-11-2012Programatica codepax-16-11-2012
Programatica codepax-16-11-2012
 

JavaScript engines

  • 2. JägerMonkey a apărut ca urmașul lui SpiderMonkey, care rula pe linii de cod tractabil foarte rapid, însă pentru codul netractabil se bloca la interpretor care nu era tocmai rapid. Pentru aceste probleme, cei de la Mozzila au folosit codul creat de dezvoltatorii de la WebKit, care era open- source și scris în C++, l-au adaptat la librăriile lor și l-au incorporat în sistem. Pe lângă aceasta, au mai făcut modificări asupra interpretorului. Au rearanjat spațiul de memorare al frame-urilor stocate și doar prin asta au obținut o îmbunătățire de 3-5% a vitezei.
  • 4. V8 este un motor javascript de înaltă performanță, open-source, de la Google. Este scris în C++ și este utilizat în browserul Google Chrome. V8 conține infrastructura compilatoare Crankshaft care îmbunătățește dramatic performanța aplicaților JavaScript. Crankshaft are patru mari componente: • un base compiler care generează cod rapid, fără optimizări majore. • un runtime profiler care monitorizează codul în curs de rulare și identifică porțiunile de cod a căror rulare durează mai mult.
  • 5. • un optimizing compiler care recompilează și optimizează codul identificat mai sus pe baza informațiilor colectate de base compiler. • un deoptimization support care permite compilarea optimizată să fie optimistică, presupunând că o face atunci când se generează cod.
  • 7. Este denumirea de marketing a SquirrelFish Extreme, abreviat SFX, o extensie a SquirrelFish. El compilează JavaScript-urile în cod sursă nativ eliminând nevoia interpretorului de bytecode și prin asta mărind viteza de execuție a JavaScript-urilor. Pentru a-i crește performanța cei de la WebKit au folosit Polymorphic Inline Cache, presupune memorarea anumitor StructuriID și folosirea lor în caz de repetare la următoarele rulări.
  • 9. Este un motor JavaScript dezvoltat de Microsoft pentru Internet Explorer 9. O caracteristică aparte a versiunii pe 32 biți este că JIT-ul ei compilează pe un CPU core separat, paralel cu browserul. Motorul desre de asemenea capabil să acceseze GPU-ul, în mod special pentru grafica 3D și video. Îmbunătățirile aduse browser-ului au fost ca răspuns la evoluția browser-elor competitive. Testele SunSpider efectuate la 18 Noiembrie 2009 arată ca IE9 este mult mai rapid decât IE8, însă mai încet decât Firefox 3.6, Chrome 4 și WebKit Nightly.