Performance Articles
-
Why WebAssembly is Faster Than asm.js
Performance is tricky to measure, and has many aspects. Also, in a new technology there are always going to be not-yet-optimized cases. So not every single benchmark will be fast on WebAssembly today. This post describes why WebAssembly should be fast; where it isn’t yet, those are bugs we need to fix.
-
A cartoon intro to WebAssembly
WebAssembly is a way of taking code written in programming languages other than JavaScript and running that code in the browser. So when people say that WebAssembly is fast, what they are comparing it to is JavaScript. In this series, I want to explain to you why WebAssembly is fast.
-
A crash course in just-in-time (JIT) compilers
This is the second part in a series on WebAssembly and what makes it fast. If you haven’t read the others, we recommend starting from the beginning. JavaScript started out slow, but then got faster thanks to something called the JIT. This article is about how the JIT works.
-
A crash course in assembly
To understand how WebAssembly works, it helps to understand what assembly is and how compilers produce it. Third part in a series on WebAssembly and what makes it fast. We recommend starting from the beginning.
-
Creating and working with WebAssembly modules
WebAssembly is a way to run programming languages other than JavaScript on web pages. In the past when you wanted to run code in the browser to interact with the different parts of the web page, your only option was JavaScript. So when people talk about WebAssembly being fast, the apples to apples comparison is to JavaScript. Fourth in a series on WebAssembly.
-
What makes WebAssembly fast?
Programming with WebAssembly or JavaScript is not an either/or choice. So developers don’t need to choose between WebAssembly and JavaScript. However, we do expect that developers will swap out parts of their JavaScript code for WebAssembly. Fifth in a series about WebAssembly.
-
Where is WebAssembly now and what’s next?
On February 28, the four major browsers announced their consensus that the MVP of WebAssembly is complete. Even in the initial release, WebAssembly will be fast. But it should get even faster in the future, through a combination of fixes and new features. Sixth in a series about WebAssembly.
-
Cooperative Scheduling with requestIdleCallback
requestIdleCallback
support has landed in Firefox Nightly, with plans to ship in Firefox 52. Historically, there's been no way for scripts to "play nice" with user interaction and page rendering, leading to choppy frame rates and laggy input. Obviously, I wouldn't be writing this post if that were still true! -
Animating like you just don’t care with Element.animate
In Firefox 48 we’re shipping the <a href="https://developer.mozilla.org/docs/Web/API/Element/animate" target="_blank"><b>Element.animate()</b></a> API — a new way to programmatically animate DOM elements using JavaScript. Let’s pause for a second — “big deal”, you might say, or “what’s all the fuss about?” After all, there are already plenty of animation libraries to choose from. In this post I want […]
-
Optimizing JavaScript Performance With Firefox Dev Tools
The Performance tool in Firefox Developer Tools offers a great way to diagnose slow-running JavaScript and provides insight into the general responsiveness and layout performance of your web site. In this video screencast, I’ll go through the process of how to diagnose issues with slow code and how to fix those issues in your code. […]