V8 (JavaScript implementation)

from Wikipedia, the free encyclopedia
V8

V8 JavaScript engine logo 2.svg
Basic data

developer V8 Team ( Google Inc. )
Current  version 8.1
( February 25, 2020 )
operating system Windows , macOS , Linux , FreeBSD , Android
programming language C ++
category JavaScript engine
License BSD
github.com/v8/v8

V8 is a free implementation of the scripting language ECMAScript ( JavaScript ) based on the ECMA -262 standard . It is published as free software by Google Inc. under a BSD license . It is delivered as part of the Google Chrome web browser , but can also be used independently. V8 is designed to speed up the execution of JavaScript code.

V8 V8 team of Google under the direction of Lars Bak mainly in Google's research laboratory in Aarhus ( Denmark developed) associated with the University of Aarhus together research and development of virtual machine operates.

technology

V8 is developed in the C ++ programming language and supports the x86 and ARM hardware architectures and multi-core processors .

V8 increases performance at runtime by first translating the JavaScript code into native machine code during execution using just-in-time compilation . Further performance advantages result from optimization techniques such as the use of inline caching , which hides JavaScript objects and expands them with split classes , and a so-called "exact automatic garbage collection ", which allocates and releases memory quickly and in small portions, which avoids longer waiting times .

The initialization of the V8 is accelerated by snapshots . When the V8 is compiled, a JavaScript environment is created, serialized and precompiled by the JIT . The compilation is integrated as a snapshot in the final V8 and is used as a template for new instances of the V8 at runtime.

history

V8 has been in development since 2006. Source code was first published on July 3, 2008. When V8 was released on September 2, 2008 as part of Google Chrome, it achieved significantly superior execution speeds compared to other implementations in use. As a result, the manufacturers of the other popular browsers soon followed suit with similar optimizations (such as Mozilla with the developments of the TraceMonkey and JägerMonkey projects ), until Microsoft also came to similar results with the revised JavaScript implementation contained in Internet Explorer 9. With the technology developed by Google under the project name Crankshaft to optimize the JavaScript code at runtime, significant performance increases were achieved again. It was first presented in December 2010 and is included in Google Chrome version 10 and higher.

In 2016 she received the Programming Languages ​​Software Award from ACM SIGPLAN.

distribution

V8 is primarily developed for use in the Google Chrome browser, but it is also used in the event-controlled platform " Node.js ". In addition, V8 is used as a server-side script language in the V8CGI project (now renamed TeaJS ), and in the new version 5 of the Qt library , V8 replaces the JavaScript implementation previously used. The NoSQL database system MongoDB uses V8 as its JavaScript implementation. With the V8js extension, V8 can be integrated into PHP .

history

  • 5.8: March 20, 2017
  • 7.2: December 18, 2018

See also

Individual evidence

  1. Latest blog posts. Retrieved March 26, 2020 (English).
  2. https://developers.google.com/v8/embed
  3. The genius behind Google's browser ( Memento from December 31, 2011 in the Internet Archive ) FT Magazine, March 27, 2009 (about Lars Bak and the genesis of V8).
  4. https://www.heise.de/newsticker/meldung/Google-Chrome-Google-gifft-Microsoft-mit-eigenem-Browser-an-202391.html
  5. https://web.archive.org/web/20131105163257/http://techon.nikkeibp.co.jp/article/HONSHI/20090106/163615/
  6. http://code.google.com/p/v8/source/browse/branches/0.1/ChangeLog
  7. https://www.heise.de/newsticker/meldung/Google-Chrome-ueberholt-die-Konbewerb-202963.html
  8. https://www.heise.de/ix/meldung/Chromes-Kurbelwelle-optimiert-JavaScript-zur-Laufzeit-1149365.html
  9. MongoDB.org Community Blog. In: blog.mongodb.org. Retrieved June 27, 2016 .
  10. V8 Javascript Engine Integration , PHP Manual.
  11. V8 Release 5.8
  12. V8 release v7.2 V8. Accessed January 31, 2019 .