Zum Hauptinhalt springen

3 Posts getaggt mit "Werkzeuge"

Alle Tags anzeigen

Beschleunigung von V8-Heap-Snapshots

· 11 Minuten Lesezeit
Jose Dapena Paz

Dieser Blog-Beitrag wurde von José Dapena Paz (Igalia) verfasst, mit Beiträgen von Jason Williams (Bloomberg), Ashley Claymore (Bloomberg), Rob Palmer (Bloomberg), Joyee Cheung (Igalia) und Shu-yu Guo (Google).

In diesem Beitrag über V8-Heap-Snapshots werde ich über einige von Bloomberg-Ingenieuren entdeckte Leistungsprobleme sprechen und wie wir diese gelöst haben, um die JavaScript-Speicheranalyse schneller als je zuvor zu machen.

Das Problem

Bloomberg-Ingenieure arbeiteten daran, ein Speicherleck in einer JavaScript-Anwendung zu diagnostizieren. Es trat mit Out-Of-Memory-Fehlern auf. Für die getestete Anwendung war das V8-Heap-Limit auf etwa 1400 MB konfiguriert. Normalerweise sollte der Garbage Collector von V8 in der Lage sein, die Heap-Nutzung unter diesem Limit zu halten, daher deuteten die Fehler darauf hin, dass es wahrscheinlich ein Leck gab.

Bis zu 4 GB Speicher in WebAssembly

· 8 Minuten Lesezeit
Andreas Haas, Jakob Kummerow und Alon Zakai

Einführung

Dank der jüngsten Arbeit in Chrome und Emscripten können Sie jetzt bis zu 4 GB Speicher in WebAssembly-Anwendungen nutzen. Das ist eine Steigerung gegenüber dem vorherigen Limit von 2 GB. Es mag seltsam erscheinen, dass es jemals ein Limit gab – schließlich war keine Arbeit notwendig, damit Menschen 512 MB oder 1 GB Speicher nutzen konnten! – aber es stellt sich heraus, dass beim Sprung von 2 GB auf 4 GB sowohl im Browser als auch in der Werkzeugkette einige besondere Dinge geschehen, die wir in diesem Beitrag beschreiben 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!