Articles by Nick Fitzgerald
-
Multi-Value All The Wasm!
Multi-value is a proposed extension to core WebAssembly that enables functions to return many values, among other things. It is also a prerequisite for Wasm interface types. Nick Fitzgerald has been adding multi-value support all over the place recently, started with the Rust and WebAssembly toolchain. Next he added support to the Wasmtime runtime, and the Cranelift code generator it’s built on top of. Here's his account of the journey.
-
Fast, Bump-Allocated Virtual DOMs with Rust and Wasm
Dodrio is a new virtual DOM library that is designed to leverage the strengths of both Wasm’s linear memory and Rust’s low-level control by making extensive use of fast bump allocation. Early benchmarking results validate Dodrio’s design and show that it already has best-in-class performance. Now we're seeking feedback from real-world usage.
-
Oxidizing Source Maps with Rust and WebAssembly
A detailed look at how we replaced the most performance-sensitive portions of the
source-map
JavaScript Library’s source map parser with Rust code that is compiled to WebAssembly. The results: The WebAssembly is up to 5.89 times faster than the JavaScript implementation on realistic benchmarks operating on real world source maps! Additionally, performance is also more consistent: relative standard deviations decreased. We hope that, by sharing our experience, we inspire others rewrite performance-sensitive JavaScript in Rust via WebAssembly. -
Firefox’s New Memory Tool
Firefox Developer Edition 44, released last week, includes a brand new memory tool to help you understand how your web applications are using and retaining memory. This is especially useful for developers targeting the mobile web, and thus working with constrained resources. Baptiste Kaenel, a freelance Creative Designer and Mozilla community member from France, put […]
-
ES6 In Depth: Destructuring
ES6 In Depth is a series on new features being added to the JavaScript programming language in the 6th Edition of the ECMAScript standard, ES6 for short. Editor’s note: An earlier version of today’s post, by Firefox Developer Tools engineer Nick Fitzgerald, originally appeared on Nick’s blog as Destructuring Assignment in ES6. What is destructuring […]
-
New Features of Firefox Developer Tools: Episode 25
Firefox 25 was just uplifted to the Aurora release channel which means we are back to report about new features in Firefox Developer Tools. Here’s a summary of some of the most exciting new features, and to get the whole picture you can check the complete list of resolved bugzilla tickets. Black box libraries in […]
-
New Features in Firefox Developer Tools: Episode 24
Releases have recently rolled, and there are a slew of new features coming to the developer tools in Firefox 24. Firefox 24 is currently in our alpha channel Firefox Aurora, and will hit the main release channel on September 17th, 2013. A little alitteration leads to lots of cool features coming this release. I’m only […]
-
Compiling to JavaScript, and Debugging with Source Maps
Update 2013/05/29: I have updated the article to reflect recent changes in the source map specification where the //@ syntax for linking a source map to a script has been deprecated in favor of //# due to problems with Internet Explorer. This is a tutorial on how to write a compiler which generates JavaScript as […]