Zum Hauptinhalt springen

V8-Version v7.7

· 4 Minuten Lesezeit
Mathias Bynens ([@mathias](https://twitter.com/mathias)), entspannter Verfasser von Release-Notes

Alle sechs Wochen erstellen wir einen neuen Zweig von V8 im Rahmen unseres Release-Prozesses. Jede Version wird direkt aus dem Git-Master von V8 vor einem Chrome-Beta-Meilenstein abgezweigt. Heute freuen wir uns, unseren neuesten Zweig bekannt zu geben, V8-Version 7.7, der bis zur Veröffentlichung in Verbindung mit Chrome 77 Stable in einigen Wochen in der Beta-Version ist. V8 v7.7 ist voller Entwickler-freundlicher Neuerungen. Dieser Beitrag bietet eine Vorschau auf einige der Highlights, die vor der Veröffentlichung erwartet werden.

Emscripten und der LLVM WebAssembly-Backend

· 13 Minuten Lesezeit
Alon Zakai

WebAssembly wird normalerweise aus einer Quellsprache kompiliert, was bedeutet, dass Entwickler Werkzeuge benötigen, um es zu nutzen. Aus diesem Grund arbeitet das V8-Team an entsprechenden Open-Source-Projekten wie LLVM, Emscripten, Binaryen und WABT. Dieser Beitrag beschreibt einige der Arbeiten, die wir an Emscripten und LLVM durchgeführt haben, was es Emscripten bald ermöglichen wird, standardmäßig zum LLVM WebAssembly-Backend zu wechseln — bitte testen Sie es und melden Sie eventuelle Probleme!

Die Kosten von JavaScript im Jahr 2019

· 14 Minuten Lesezeit
Addy Osmani ([@addyosmani](https://twitter.com/addyosmani)), JavaScript-Hausmeister, und Mathias Bynens ([@mathias](https://twitter.com/mathias)), Hauptthread-Befreier
hinweis

Hinweis: Wenn Sie es bevorzugen, eine Präsentation anzusehen statt Artikel zu lesen, dann genießen Sie das unten stehende Video! Andernfalls überspringen Sie das Video und lesen Sie weiter.

„Die Kosten von JavaScript“, präsentiert von Addy Osmani auf der #PerfMatters-Konferenz 2019.

V8-Version v7.6

· 6 Minuten Lesezeit
Adam Klein

Alle sechs Wochen erstellen wir einen neuen Zweig von V8 im Rahmen unseres Release-Prozesses. Jede Version wird direkt vor einem Chrome Beta-Meilenstein aus dem Master-Zweig von V8 abgeleitet. Heute freuen wir uns, unseren neuesten Zweig, V8-Version 7.6, bekannt zu geben, der bis zu seiner Veröffentlichung in Koordination mit Chrome 76 Stable in einigen Wochen in der Beta ist. V8 v7.6 ist vollgepackt mit allerhand Entwicklerschmankerln. Dieser Beitrag gibt einen Überblick über einige der Highlights in Erwartung der Veröffentlichung.

Code-Caching für WebAssembly-Entwickler

· 10 Minuten Lesezeit
[Bill Budge](https://twitter.com/billb), der das Katsching ins Caching bringt

Es gibt ein Sprichwort unter Entwicklern, dass der schnellste Code derjenige ist, der gar nicht ausgeführt wird. Ebenso ist der schnellste kompilierte Code derjenige, der nicht kompiliert werden muss. Das WebAssembly-Code-Caching ist eine neue Optimierung in Chrome und V8, die versucht, die Code-Kompilierung zu vermeiden, indem der vom Compiler erzeugte native Code zwischengespeichert wird. Wir haben geschrieben über wie Chrome und V8 in der Vergangenheit JavaScript-Code cachen und beste Praktiken, um von dieser Optimierung zu profitieren. In diesem Blog-Beitrag beschreiben wir die Funktionsweise des WebAssembly-Code-Caches in Chrome und wie Entwickler ihn nutzen können, um das Laden von Anwendungen mit großen WebAssembly-Modulen zu beschleunigen.

V8-Veröffentlichung v7.5

· 4 Minuten Lesezeit
Dan Elphick, der Schrecken der Veralteten

Alle sechs Wochen erstellen wir im Rahmen unseres Veröffentlichungsprozesses einen neuen Branch von V8. Jede Version wird direkt vom Git-Master von V8 vor einem Chrome Beta-Meilenstein verzweigt. Heute freuen wir uns, unseren neuesten Branch, V8 Version 7.5, ankündigen zu dürfen. Dieser befindet sich bis zur Veröffentlichung in Kooperation mit Chrome 75 Stable in mehreren Wochen in der Beta-Phase. V8 v7.5 ist vollgepackt mit allerlei Entwickler-freundlichen Neuerungen. In diesem Beitrag geben wir eine Vorschau auf einige Highlights vor der Veröffentlichung.

Schnellere und funktionsreichere Internationalisierungs-APIs

· 5 Minuten Lesezeit
[சத்யா குணசேகரன் (Sathya Gunasekaran)](https://twitter.com/_gsathya)

Die ECMAScript Internationalization API-Spezifikation (ECMA-402, oder Intl) bietet wichtige lokalisierungsspezifische Funktionen wie Datumsformatierung, Zahlenformatierung, Pluralformauswahl und Sortierung. Die Chrome-V8- und Google-Internationalisierungsteams haben an der Erweiterung der Funktionen der ECMA-402-Implementierung von V8 gearbeitet, während sie technischen Schulden abbauen und die Leistung sowie die Interoperabilität mit anderen Browsern verbessern.

Ein Jahr mit Spectre: Eine V8-Perspektive

· 9 Minuten Lesezeit
Ben L. Titzer und Jaroslav Sevcik

Am 3. Januar 2018 veröffentlichten Google Project Zero und andere die ersten drei Schwachstellen einer neuen Klasse von Sicherheitslücken, die CPUs betreffen, die spekulative Ausführung verwenden. Genannt wurden sie Spectre und Meltdown. Mit den Mechanismen der spekulativen Ausführung von CPUs kann ein Angreifer sowohl implizite als auch explizite Sicherheitsüberprüfungen im Code vorübergehend umgehen, die verhindern, dass Programme unautorisierte Daten aus dem Speicher lesen. Obwohl die Prozessor-Spekulation als mikroarchitektonisches Detail entworfen wurde, unsichtbar auf architektonischer Ebene, können sorgfältig gestaltete Programme unautorisierte Informationen während der Spekulation lesen und sie durch Seiteneffekte wie die Ausführungszeit eines Programmfragments preisgeben.

Blitzschnelles Parsen, Teil 2: Lazy Parsing

· 15 Minuten Lesezeit
Toon Verwaest ([@tverwaes](https://twitter.com/tverwaes)) und Marja Hölttä ([@marjakh](https://twitter.com/marjakh)), effizientere Parser

Dies ist der zweite Teil unserer Serie, die erklärt, wie V8 JavaScript so schnell wie möglich parst. Der erste Teil erklärte, wie wir den Scanner von V8 beschleunigt haben.

Das Parsen ist der Schritt, bei dem Quellcode in eine Zwischenrepräsentation umgewandelt wird, die von einem Compiler (in V8 der Bytecode-Compiler Ignition) verwendet wird. Parsen und Kompilieren erfolgen auf dem kritischen Pfad des Webseitenstarts, und nicht alle Funktionen, die an den Browser übermittelt werden, werden während des Starts sofort benötigt. Auch wenn Entwickler solchen Code mit asynchronen und verzögerten Skripten zurückstellen können, ist das nicht immer machbar. Darüber hinaus liefern viele Webseiten Code, der nur von bestimmten Funktionen verwendet wird, die ein Benutzer während eines einzelnen Durchlaufs der Seite möglicherweise überhaupt nicht aufruft.

Code-Caching für JavaScript-Entwickler

· 15 Minuten Lesezeit
[Leszek Swirski](https://twitter.com/leszekswirski), Cache-Zerkleinerer

Code-Caching (auch bekannt als Bytecode-Caching) ist eine wichtige Optimierung in Browsern. Es reduziert die Startzeit häufig besuchter Websites, indem es das Ergebnis von Parsing + Kompilierung zwischenspeichert. Die meisten beliebten Browser implementieren eine Form des Code-Cachings, und Chrome bildet da keine Ausnahme. Tatsächlich haben wir bereits darüber geschrieben, und gesprochen, wie Chrome und V8 kompilierten Code in der Vergangenheit zwischenspeichern.