SlideShare a Scribd company logo
Chrome v8 web
assembly engine
Presentation by Abin E Sajeev
Class:S6 Computer science
Register no:210021028032
What is v8?
● V8 is Google’s open source high-performance JavaScript and WebAssembly engine
● It implements ECMAScript and WebAssembly, and runs on Windows 7 or later, macOS 10.12+, and
Linux systems that use x64, IA-32, ARM, or MIPS processors.
● V8 is a free developed by the Chromium Project for Chromium and Google Chrome web
browsers.
● The project’s creator is Lars Bak. The first version of the V8 engine was released at the
same time as the first version of Chrome: 2 September 2008. It has also been used on the
server side
V8 can run standalone, or can be embedded into
any C++ application
V8 is written in C++ and is used in Google
Chrome
Function of v8
● V8 compiles and executes JavaScript source code, handles memory allocation for objects, and garbage
collects objects it no longer needs. V8’s stop-the-world, generational, accurate garbage collector is one
of the keys to V8’s performance.
● V8 enables any C++ application to expose its own objects and functions to JavaScript code. It’s up to
you to decide on the objects and functions you would like to expose to JavaScript.
Working of v8
● V8 translates JavaScript code directly into machine code so that computers can actually understand it,
then it executes the translated, or compiled, code. V8 optimizes JavaScript execution as well.
From a high-level view, the V8
JavaScript engine execution
consists of 5 steps.
• Initialize environment in the
host
• Compile JavaScript codes
• Generate bytecodes
• Interpret and execute
bytecodes
• Optimize some bytecodes for
better performance
Components of v8
● The V8 engine gets its speed from the Just in Time (JIT) compilation of JS code to native machine code.
● The ignition interpreter, a key component of V8, compiles the JS code and generates non-optimized
machine code. On runtime, the machine code is analyzed and re-compiled for optimal performance.
● This optimization is handled by the TurboFan and Crankshaft components of V8.
Ignition:
Ignition is V8’s interpreter, responsible for quickly parsing and executing JavaScript code. It utilizes
bytecode rather than directly interpreting the source code, which helps in speeding up the initial execution.
It generates bytecode from the Abstract Syntax Trees (ASTs) produced by the Parser. This bytecode is
executed more efficiently than the original source code.
Ignition also collects profiling information about the code’s behavior during the initial execution phase,
providing valuable data to optimize critical parts of the code later.
TurboFan:
TurboFan is V8’s optimizing compiler, which takes advantage of the profiling information gathered by
Ignition.
It optimizes the bytecode generated by Ignition by analyzing the profiling data. TurboFan aims to generate
highly optimized machine code tailored to the specific execution profile of the JavaScript.
TurboFan optimizes critical paths in the code, applying sophisticated optimization techniques to further
enhance performance.
This component focuses on producing optimized machine code for performance-critical sections of the
JavaScript program, thereby improving overall execution speed.
Alongside the above-mentioned components, V8 engine has a few other important
components, namely Liftoff and Orinoco.
• Liftoff is responsible for machine code generation and performs its tasks in a highly optimized
fashion. It’s a simpler code generator that generates code for each opcode and performs ten
times better than TurboFan.
• Orinoco is responsible for garbage collection. Its job is to look for disconnected memory
allocations and perform evacuation and compaction to free up space for more objects. Orinoco
also updates pointers to new memory locations and marks the living objects in black to speed
up the iterative marking process.
V8 optimizes code execution
• V8 had two main execution tiers: Ignition, the interpreter; and TurboFan, V8’s optimizing
compiler focused on peak performance.
• All JavaScript code is first compiled to ignition bytecode, and executed by interpreting it.
• During execution V8 tracks how the program behaves, including tracking object shapes and
types.
• Both the runtime execution metadata and bytecode are fed into the optimizing compiler to
generate high-performance, often speculative, machine code that runs significantly faster
than the interpreter can.
What
is
Node.js?
Node.js is a runtime environment for executing JavaScript code, and
it is built on the Chrome V8 engine. It is asynchronous, which means
that it does not have to wait for one process to complete before
starting another one. Like V8, Node.js is free and open-source
Compatibility and Standards
● Chrome V8 continually integrates and supports these standards, enabling web developers to create
websites and web applications that leverage the latest HTML, CSS, JavaScript, and other web
technologies. By complying with these standards, V8 ensures that web content is rendered accurately,
functions smoothly, and remains compatible across various browsers and devices, promoting a
consistent and reliable user experience on the web.
● Chrome V8, being cross-platform compatible, can run on various operating systems such as Windows,
macOS, Linux, etc., providing a consistent experience across these platforms.
● Contributions to open-source initiatives signify the active participation and support that Chrome V8
provides to open-source projects. This includes contributing code, sharing developments, and
collaborating with the broader developer community to enhance the engine’s capabilities and ensure it
aligns with open standards.
Cross-platform compatibility and contributions to
open-source initiatives
Chrome V8 has diverse real-world applications
and use cases:
● Web Development: V8 powers the JavaScript execution within the Chrome browser, enabling the
interactive and dynamic features of modern websites. Developers leverage V8’s speed and efficiency to
create responsive and innovative web applications.
● Desktop Applications: V8 has been utilized in frameworks like Electron, enabling the development of
cross-platform desktop applications using web technologies like HTML, CSS, and JavaScript.
● Mobile Applications: Through frameworks like NativeScript and React Native, V8 supports the
development of mobile apps using web technologies, ensuring consistent performance and functionality
across different mobile platforms.
● Game Development: Game engines and frameworks such as Phaser or Three.js use V8 to power the
scripting and interaction aspects of browser-based games, offering immersive experiences directly in
web browsers.
● Embedded Systems: V8's efficient and lightweight nature has found applications in IoT (Internet of
Things) devices and embedded systems, where resource efficiency and high-performance scripting are
essential.
● High Performance: V8 is known for its high-performance JavaScript execution, utilizing innovative
optimization techniques like JIT (Just-In-Time) compilation to significantly speed up code execution.
Optimized Memory Usage: V8 employs memory optimizations such as garbage collection techniques to
efficiently manage memory, reducing memory leaks and enhancing overall performance.
Better Loading Times: Its ability to compile and execute JavaScript code swiftly results in faster loading
times for web applications and websites, improving user experience.
Performance improvements and benefits
Upcoming updates and enhancements
● Performance Improvements: Continuous efforts to optimize V8’s performance by enhancing its compiler
and runtime have been ongoing. These improvements aim to make JavaScript execution faster and
more efficient, resulting in quicker load times and improved application responsiveness.
Memory Management Enhancements: V8 developers have been working on refining memory
management techniques to reduce memory overhead and enhance the engine’s efficiency, minimizing
memory leaks and improving overall stability.
● WebAssembly Support: V8 continues to focus on optimizing the execution of WebAssembly, a binary
instruction format that enables high-performance execution on the web. Updates might include
improvements in WebAssembly execution speed and features supported by the engine.
ECMAScript Standards Compliance: V8 consistently aims to align with the latest ECMAScript standards.
Recent and upcoming updates might include support for new language features and enhancements to
ensure compatibility with the evolving JavaScript language specifications.
Security Updates: Regular updates also involve security enhancements to address vulnerabilities and
strengthen the engine against potential threats, ensuring a more secure browsing and development
environment.
Chrome V8 holds significant importance and
exerts a considerable impact on the web
ecosystem
● Performance and Speed: Its high-performance JavaScript execution significantly improves the speed
and responsiveness of web applications. This leads to faster loading times and smoother user
experiences, crucial in retaining user engagement.
● Web Standards and Innovation: V8’s support for modern web standards enables developers to leverage
the latest features and capabilities, fostering innovation in web development. This support drives the
evolution of the web by encouraging the adoption of new technologies
● Foundation for Frameworks and Tools: V8 serves as the foundation for various frameworks and tools
used in web development, such as Electron for building cross-platform desktop applications, contributing
to their efficiency and performance.
Performance-driven Web Applications: Its efficient execution enables the creation of sophisticated web
applications, games, and services that rely on real-time processing and interactivity, enriching the web
experience for users.
THANK YOU

More Related Content

Similar to Chrome v8 web: the open source javascript

All the amazing features of asp.net core
All the amazing features of asp.net coreAll the amazing features of asp.net core
All the amazing features of asp.net core
GrayCell Technologies
 
RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?
Mark Russell
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
Mohanadarshan Vivekanandalingam
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX Applications
Kai Donato
 
WebDev Simplified React.js.pptx
WebDev Simplified React.js.pptxWebDev Simplified React.js.pptx
WebDev Simplified React.js.pptx
SarikaPurohit1
 
Explore asp.net core 3.0 features
Explore asp.net core 3.0 featuresExplore asp.net core 3.0 features
Explore asp.net core 3.0 features
iFour Technolab Pvt. Ltd.
 
Guide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development ToolGuide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development Tool
Albiorix Technology
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
Vinayak Tavargeri
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1
SNEHAL MASNE
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
75waytechnologies
 
GWT Training - Session 1/3
GWT Training - Session 1/3GWT Training - Session 1/3
GWT Training - Session 1/3
Faiz Bashir
 
Link. wicket [santi caltabiano].txt blocco note
  Link. wicket [santi caltabiano].txt   blocco note  Link. wicket [santi caltabiano].txt   blocco note
Link. wicket [santi caltabiano].txt blocco note
santi caltabiano
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
Amazon Web Services
 
JS digest. Decemebr 2017
JS digest. Decemebr 2017JS digest. Decemebr 2017
JS digest. Decemebr 2017
ElifTech
 
CodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
CodeIgniter For Project : Lesson 103 - Introduction to CodeigniterCodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
CodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
Weerayut Hongsa
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
ApxicTechnologies1
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020
Alaina Carter
 
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Igalia
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
Kunal Bhatia, MBA Candidate, BSc.
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)
Daniel Appelquist
 

Similar to Chrome v8 web: the open source javascript (20)

All the amazing features of asp.net core
All the amazing features of asp.net coreAll the amazing features of asp.net core
All the amazing features of asp.net core
 
RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX Applications
 
WebDev Simplified React.js.pptx
WebDev Simplified React.js.pptxWebDev Simplified React.js.pptx
WebDev Simplified React.js.pptx
 
Explore asp.net core 3.0 features
Explore asp.net core 3.0 featuresExplore asp.net core 3.0 features
Explore asp.net core 3.0 features
 
Guide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development ToolGuide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development Tool
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
GWT Training - Session 1/3
GWT Training - Session 1/3GWT Training - Session 1/3
GWT Training - Session 1/3
 
Link. wicket [santi caltabiano].txt blocco note
  Link. wicket [santi caltabiano].txt   blocco note  Link. wicket [santi caltabiano].txt   blocco note
Link. wicket [santi caltabiano].txt blocco note
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
JS digest. Decemebr 2017
JS digest. Decemebr 2017JS digest. Decemebr 2017
JS digest. Decemebr 2017
 
CodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
CodeIgniter For Project : Lesson 103 - Introduction to CodeigniterCodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
CodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020
 
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)
 

Recently uploaded

Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
ukwwuq
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
bseovas
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 

Recently uploaded (20)

Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 

Chrome v8 web: the open source javascript

  • 1. Chrome v8 web assembly engine Presentation by Abin E Sajeev Class:S6 Computer science Register no:210021028032
  • 2. What is v8? ● V8 is Google’s open source high-performance JavaScript and WebAssembly engine ● It implements ECMAScript and WebAssembly, and runs on Windows 7 or later, macOS 10.12+, and Linux systems that use x64, IA-32, ARM, or MIPS processors.
  • 3. ● V8 is a free developed by the Chromium Project for Chromium and Google Chrome web browsers. ● The project’s creator is Lars Bak. The first version of the V8 engine was released at the same time as the first version of Chrome: 2 September 2008. It has also been used on the server side
  • 4. V8 can run standalone, or can be embedded into any C++ application V8 is written in C++ and is used in Google Chrome
  • 5. Function of v8 ● V8 compiles and executes JavaScript source code, handles memory allocation for objects, and garbage collects objects it no longer needs. V8’s stop-the-world, generational, accurate garbage collector is one of the keys to V8’s performance. ● V8 enables any C++ application to expose its own objects and functions to JavaScript code. It’s up to you to decide on the objects and functions you would like to expose to JavaScript.
  • 6. Working of v8 ● V8 translates JavaScript code directly into machine code so that computers can actually understand it, then it executes the translated, or compiled, code. V8 optimizes JavaScript execution as well.
  • 7. From a high-level view, the V8 JavaScript engine execution consists of 5 steps. • Initialize environment in the host • Compile JavaScript codes • Generate bytecodes • Interpret and execute bytecodes • Optimize some bytecodes for better performance
  • 8. Components of v8 ● The V8 engine gets its speed from the Just in Time (JIT) compilation of JS code to native machine code. ● The ignition interpreter, a key component of V8, compiles the JS code and generates non-optimized machine code. On runtime, the machine code is analyzed and re-compiled for optimal performance. ● This optimization is handled by the TurboFan and Crankshaft components of V8.
  • 9. Ignition: Ignition is V8’s interpreter, responsible for quickly parsing and executing JavaScript code. It utilizes bytecode rather than directly interpreting the source code, which helps in speeding up the initial execution. It generates bytecode from the Abstract Syntax Trees (ASTs) produced by the Parser. This bytecode is executed more efficiently than the original source code. Ignition also collects profiling information about the code’s behavior during the initial execution phase, providing valuable data to optimize critical parts of the code later.
  • 10. TurboFan: TurboFan is V8’s optimizing compiler, which takes advantage of the profiling information gathered by Ignition. It optimizes the bytecode generated by Ignition by analyzing the profiling data. TurboFan aims to generate highly optimized machine code tailored to the specific execution profile of the JavaScript. TurboFan optimizes critical paths in the code, applying sophisticated optimization techniques to further enhance performance. This component focuses on producing optimized machine code for performance-critical sections of the JavaScript program, thereby improving overall execution speed.
  • 11. Alongside the above-mentioned components, V8 engine has a few other important components, namely Liftoff and Orinoco. • Liftoff is responsible for machine code generation and performs its tasks in a highly optimized fashion. It’s a simpler code generator that generates code for each opcode and performs ten times better than TurboFan. • Orinoco is responsible for garbage collection. Its job is to look for disconnected memory allocations and perform evacuation and compaction to free up space for more objects. Orinoco also updates pointers to new memory locations and marks the living objects in black to speed up the iterative marking process.
  • 12. V8 optimizes code execution • V8 had two main execution tiers: Ignition, the interpreter; and TurboFan, V8’s optimizing compiler focused on peak performance. • All JavaScript code is first compiled to ignition bytecode, and executed by interpreting it. • During execution V8 tracks how the program behaves, including tracking object shapes and types. • Both the runtime execution metadata and bytecode are fed into the optimizing compiler to generate high-performance, often speculative, machine code that runs significantly faster than the interpreter can.
  • 13. What is Node.js? Node.js is a runtime environment for executing JavaScript code, and it is built on the Chrome V8 engine. It is asynchronous, which means that it does not have to wait for one process to complete before starting another one. Like V8, Node.js is free and open-source
  • 14. Compatibility and Standards ● Chrome V8 continually integrates and supports these standards, enabling web developers to create websites and web applications that leverage the latest HTML, CSS, JavaScript, and other web technologies. By complying with these standards, V8 ensures that web content is rendered accurately, functions smoothly, and remains compatible across various browsers and devices, promoting a consistent and reliable user experience on the web.
  • 15. ● Chrome V8, being cross-platform compatible, can run on various operating systems such as Windows, macOS, Linux, etc., providing a consistent experience across these platforms. ● Contributions to open-source initiatives signify the active participation and support that Chrome V8 provides to open-source projects. This includes contributing code, sharing developments, and collaborating with the broader developer community to enhance the engine’s capabilities and ensure it aligns with open standards. Cross-platform compatibility and contributions to open-source initiatives
  • 16. Chrome V8 has diverse real-world applications and use cases: ● Web Development: V8 powers the JavaScript execution within the Chrome browser, enabling the interactive and dynamic features of modern websites. Developers leverage V8’s speed and efficiency to create responsive and innovative web applications. ● Desktop Applications: V8 has been utilized in frameworks like Electron, enabling the development of cross-platform desktop applications using web technologies like HTML, CSS, and JavaScript. ● Mobile Applications: Through frameworks like NativeScript and React Native, V8 supports the development of mobile apps using web technologies, ensuring consistent performance and functionality across different mobile platforms.
  • 17. ● Game Development: Game engines and frameworks such as Phaser or Three.js use V8 to power the scripting and interaction aspects of browser-based games, offering immersive experiences directly in web browsers. ● Embedded Systems: V8's efficient and lightweight nature has found applications in IoT (Internet of Things) devices and embedded systems, where resource efficiency and high-performance scripting are essential.
  • 18. ● High Performance: V8 is known for its high-performance JavaScript execution, utilizing innovative optimization techniques like JIT (Just-In-Time) compilation to significantly speed up code execution. Optimized Memory Usage: V8 employs memory optimizations such as garbage collection techniques to efficiently manage memory, reducing memory leaks and enhancing overall performance. Better Loading Times: Its ability to compile and execute JavaScript code swiftly results in faster loading times for web applications and websites, improving user experience. Performance improvements and benefits
  • 19. Upcoming updates and enhancements ● Performance Improvements: Continuous efforts to optimize V8’s performance by enhancing its compiler and runtime have been ongoing. These improvements aim to make JavaScript execution faster and more efficient, resulting in quicker load times and improved application responsiveness. Memory Management Enhancements: V8 developers have been working on refining memory management techniques to reduce memory overhead and enhance the engine’s efficiency, minimizing memory leaks and improving overall stability.
  • 20. ● WebAssembly Support: V8 continues to focus on optimizing the execution of WebAssembly, a binary instruction format that enables high-performance execution on the web. Updates might include improvements in WebAssembly execution speed and features supported by the engine. ECMAScript Standards Compliance: V8 consistently aims to align with the latest ECMAScript standards. Recent and upcoming updates might include support for new language features and enhancements to ensure compatibility with the evolving JavaScript language specifications. Security Updates: Regular updates also involve security enhancements to address vulnerabilities and strengthen the engine against potential threats, ensuring a more secure browsing and development environment.
  • 21. Chrome V8 holds significant importance and exerts a considerable impact on the web ecosystem ● Performance and Speed: Its high-performance JavaScript execution significantly improves the speed and responsiveness of web applications. This leads to faster loading times and smoother user experiences, crucial in retaining user engagement. ● Web Standards and Innovation: V8’s support for modern web standards enables developers to leverage the latest features and capabilities, fostering innovation in web development. This support drives the evolution of the web by encouraging the adoption of new technologies
  • 22. ● Foundation for Frameworks and Tools: V8 serves as the foundation for various frameworks and tools used in web development, such as Electron for building cross-platform desktop applications, contributing to their efficiency and performance. Performance-driven Web Applications: Its efficient execution enables the creation of sophisticated web applications, games, and services that rely on real-time processing and interactivity, enriching the web experience for users.