跳到主要内容

5 篇博文 含有标签「工具」

查看所有标签

加速 V8 堆快照

· 阅读需 11 分钟
Jose Dapena Paz

这篇博客文章由 José Dapena Paz (Igalia) 撰写,并得到了 Jason Williams (Bloomberg)、Ashley Claymore (Bloomberg)、Rob Palmer (Bloomberg)、Joyee Cheung (Igalia) 和 Shu-yu Guo (Google) 的贡献。

在这篇关于 V8 堆快照的文章中,我将谈谈由 Bloomberg 工程师发现的一些性能问题,以及我们如何解决这些问题,使 JavaScript 内存分析比以往更快。

问题描述

Bloomberg 的工程师正在诊断一个 JavaScript 应用中的内存泄漏问题。应用程序由于 内存不足 错误而失败。对于测试的应用程序,V8 的堆限制配置约为 1400 MB。一般情况下,V8 的垃圾收集器应该能够将堆使用保持在该限制以下,因此这些错误表明可能存在泄漏。

Indicium: V8运行时跟踪工具

· 阅读需 8 分钟
Zeynep Cankara ([@ZeynepCankara](https://twitter.com/ZeynepCankara))

过去三个月里,我作为实习生加入了V8团队(Google伦敦),这段时间是一次非常棒的学习经历。我一直在开发一个新工具,名为Indicium

这个系统分析器是一个统一的网页界面,用于追踪、调试和分析Inline Caches(ICs)和Maps在真实应用中被创建和修改的模式。

V8已经有一些针对ICsMaps的追踪基础设施,可以使用IC Explorer分析IC事件以及使用Map Processor分析Map事件。然而,以前的工具无法全面分析Maps和ICs,而现在系统分析器使这一操作成为可能。

那个 `.wasm` 文件里有什么?介绍:`wasm-decompile`

· 阅读需 7 分钟
Wouter van Oortmerssen ([@wvo](https://twitter.com/wvo))

我们拥有越来越多的编译器和其他工具来生成或操作 .wasm 文件,有时候您可能会想看看里面的内容。也许您是该类工具的开发者,或者更直接地说,您是针对 Wasm 的程序员,想知道生成的代码是什么样子,出于性能或其他原因。

脱离网络:使用 Emscripten 的独立 WebAssembly 二进制文件

· 阅读需 14 分钟
Alon Zakai

Emscripten 一直以来主要专注于编译到 Web 和其他 JavaScript 环境(如 Node.js)。但是,随着 WebAssembly 开始在不需要JavaScript 的情况下被使用,出现了一些新的用例,因此我们一直在努力支持从 Emscripten 发出的独立 Wasm 文件,这些文件不依赖于 Emscripten 的 JS 运行时!本文会解释为什么这很有趣。

Emscripten 和 LLVM WebAssembly 后端

· 阅读需 13 分钟
Alon Zakai

通常,WebAssembly 是从源语言编译而来的,这意味着开发者需要使用工具才能应用它。因此,V8 团队致力于相关的开源项目,例如 LLVMEmscriptenBinaryenWABT。本文介绍了我们在 Emscripten 和 LLVM 上的一些工作,这些工作将很快允许 Emscripten 默认切换到 LLVM WebAssembly 后端 —— 请测试并报告任何问题!