Backpressure (or back pressure) is something nearly every software engineer will have to deal with at some point, and for some it’s a frequent problem. But the term itself isn’t nearly as understood and recognized as such.
In this post I’m going to elaborate on what exactly backpressure is, when it’s common, and the strategies we can use to mitigate it.
I recently gave a talk about this at ReactiveConf:
In the software world “backpressure” is an analogy borrowed from fluid dynamics, like in automotive exhaust and house plumbing.
The Wikipedia definition:
Resistance or force opposing the desired flow…
UPDATE 08/2018: Binaryen no longer supports s2wasm and the official
"wasm32-unknown-unknown-wasm"target is now stable enough to use via llc and lld. See the footnotes for more info.
To be clear, this article is intended for people who are writing their own compiler in Rust and want to use LLVM as their backend. If you’re looking for compiling the Rust language itself to WebAssembly, check out the rust-wasm online book.
While I won’t dive deep or explain what all the LLVM APIs do, hopefully this post helps jumpstart those who want to use LLVM from Rust. …
EDIT: 11/2017 — This post was originally published 04/2016. Yehuda Katz now has a WHATWG proposal for “DOMChangeLists”, which has a very similar spirit to the behavior of Node#mergeWith() described later in this post, though it wasn’t inspired by this post.
tl;dr React-style virtual elements are fast but cannot be consumed like real Elements, LazyDOM elements are fast like React elements, but can be consumed like real DOM Elements because they lazily proxy to one. To be clear though, this is only an experiment!
Let’s start with a somewhat deceptively simple example to give you an idea of what LazyDOM…
Now that feature list for ES2016 aka ES7 is out, and doesn’t actually include any of the features most people talk about, it’s officially time to just stop using ES7 to mean “any proposed feature that may or may not even make it”.
Let’s first define a couple things:
TC39 = the people who write the ECMAScript specification.
WebAssembly • Reactive programming • PL enthusiast • previously @Netflix et al • @GoogleDevExpert