Zum Hauptinhalt springen

Dinge in V8 sortieren

· 18 Minuten Lesezeit
Simon Zünd ([@nimODota](https://twitter.com/nimODota)), konsistenter Komparator

Array.prototype.sort gehörte zu den letzten eingebauten Funktionen, die in selbst gehostetem JavaScript in V8 implementiert wurden. Die Portierung bot uns die Möglichkeit, mit verschiedenen Algorithmen und Implementierungsstrategien zu experimentieren und sie schließlich stabil zu machen in V8 v7.0 / Chrome 70.

Verbesserung der `DataView`-Leistung in V8

· 9 Minuten Lesezeit
Théotime Grohens, <i lang="fr">der Gelehrte von Daten-Ansicht</i>, und Benedikt Meurer ([@bmeurer](https://twitter.com/bmeurer)), professioneller Leistungsfreund

DataViews sind eine der zwei möglichen Methoden, um Speicher auf niedriger Ebene in JavaScript zuzugreifen, die andere ist TypedArrays. Bislang waren DataViews in V8 viel weniger optimiert als TypedArrays, was zu einer schlechteren Leistung bei Aufgaben wie grafikintensiven Workloads oder beim Decodieren/Kodieren von Binärdaten führte. Die Gründe dafür waren hauptsächlich historische Entscheidungen, wie die Tatsache, dass asm.js TypedArrays statt DataViews gewählt hat, und so waren Engines motiviert, sich auf die Leistung von TypedArrays zu konzentrieren.

Feiern von 10 Jahren V8

· 13 Minuten Lesezeit
Mathias Bynens ([@mathias](https://twitter.com/mathias)), V8-Historiker

In diesem Monat jährt sich zum 10. Mal die Veröffentlichung von nicht nur Google Chrome, sondern auch des V8-Projekts. Dieser Beitrag gibt einen Überblick über die wichtigsten Meilensteine des V8-Projekts in den letzten 10 Jahren sowie die Jahre davor, als das Projekt noch geheim war.

Liftoff: ein neuer Basis-Compiler für WebAssembly in V8

· 15 Minuten Lesezeit
Clemens Backes, Meister der WebAssembly-Kompilierung

V8 v6.9 beinhaltet Liftoff, einen neuen Basis-Compiler für WebAssembly. Liftoff ist standardmäßig auf Desktop-Systemen aktiviert. Dieser Artikel erläutert die Motivation für die Einführung einer weiteren Kompilierungsstufe und beschreibt die Implementierung und Leistung von Liftoff.

Eingebettete Builtins

· 11 Minuten Lesezeit
Jakob Gruber ([@schuay](https://twitter.com/schuay))

V8-Funktionen (Builtins) verbrauchen Speicher in jeder Instanz von V8. Die Anzahl der Builtins, deren durchschnittliche Größe und die Anzahl der V8-Instanzen pro Chrome-Browser-Tab haben erheblich zugenommen. Dieser Blog-Beitrag beschreibt, wie wir die mediane V8-Heap-Größe pro Website im vergangenen Jahr um 19 % reduziert haben.

V8-Version v6.9

· 5 Minuten Lesezeit
das V8-Team

Alle sechs Wochen erstellen wir einen neuen Branch von V8 im Rahmen unseres Veröffentlichungsprozesses. Jede Version wird direkt vor einem Chrome-Beta-Meilenstein von V8s Git-Master abgespalten. Heute freuen wir uns, unseren neuesten Branch, V8-Version 6.9, ankündigen zu können, der in Beta ist, bis er in einigen Wochen zusammen mit Chrome 69 Stable veröffentlicht wird. V8 v6.9 ist vollgepackt mit allerlei Entwickler-freundlichen Features. Dieser Beitrag bietet eine Vorschau auf einige Highlights in Vorfreude auf die Veröffentlichung.

V8 Release v6.8

· 4 Minuten Lesezeit
Das V8-Team

Alle sechs Wochen erstellen wir einen neuen Zweig von V8 im Rahmen unseres Veröffentlichungsprozesses. Jede Version wird direkt vor einem Chrome-Beta-Meilenstein vom Git-Master von V8 abgezweigt. Heute freuen wir uns, unseren neuesten Zweig ankündigen zu können, V8 Version 6.8, der bis zur Veröffentlichung in Zusammenarbeit mit Chrome 68 Stable in einigen Wochen in der Beta-Phase ist. V8 v6.8 ist voller Entwickler-feindlicher Leckerbissen. Dieses Posting bietet eine Vorschau auf einige Highlights in Erwartung der Veröffentlichung.

Gleichzeitiges Markieren in V8

· 13 Minuten Lesezeit
Ulan Degenbaev, Michael Lippautz und Hannes Payer — Befreier des Hauptthreads

Dieser Beitrag beschreibt die Garbage-Collection-Technik namens gleichzeitiges Markieren. Die Optimierung ermöglicht einer JavaScript-Anwendung, die Ausführung fortzusetzen, während der Garbage Collector den Heap scannt, um lebende Objekte zu finden und zu markieren. Unsere Benchmarks zeigen, dass gleichzeitiges Markieren die auf dem Hauptthread verbrachte Zeit beim Markieren um 60%–70% reduziert. Gleichzeitiges Markieren ist das letzte Puzzlestück des Orinoco-Projekts — das Projekt zum schrittweisen Austausch des alten Garbage Collectors mit dem neuen überwiegend gleichzeitigen und parallelen Garbage Collector. Gleichzeitiges Markieren ist in Chrome 64 und Node.js v10 standardmäßig aktiviert.

V8-Version v6.7

· 2 Minuten Lesezeit
das V8-Team

Alle sechs Wochen erstellen wir im Rahmen unseres Veröffentlichungsprozesses einen neuen Branch von V8. Jede Version wird direkt vor einem Chrome-Beta-Meilenstein von V8's Git-Master abgezweigt. Heute freuen wir uns, unseren neuesten Branch, V8-Version 6.7, anzukündigen, der sich bis zur Veröffentlichung in Koordination mit Chrome 67 Stable in einigen Wochen in der Beta-Phase befindet. V8 v6.7 ist vollgepackt mit allerlei Entwicklertools und neuen Funktionen. Dieser Beitrag gibt eine Vorschau auf einige der Highlights in Erwartung der Veröffentlichung.

Hinzufügen von BigInts zu V8

· 8 Minuten Lesezeit
Jakob Kummerow, Schiedsrichter der Präzision

In den letzten Monaten haben wir Unterstützung für BigInts in V8 implementiert, wie in diesem Vorschlag derzeit festgelegt, um sie in eine zukünftige Version von ECMAScript aufzunehmen. Der folgende Beitrag erzählt die Geschichte unserer Abenteuer.