CommunityNews

CommunityNews

A fast in-place interpreter for WebAssembly

A fast in-place interpreter for WebAssembly.
WebAssembly (Wasm) is a compact, well-specified bytecode format that offers a
portable compilation target with near-native execution speed. The bytecode
format was specifically designed to be fast to parse, validate, and compile,
positioning itself as a portable alternative to native code. It was pointedly
not designed to be interpreted directly. Instead, design considerations at the
time focused on competing with native code, utilizing optimizing compilers as
the primary execution tier. Yet, in JIT scenarios, compilation time and memory
consumption critically impact application startup, leading many Wasm engines to
later deploy baseline (single-pass) compilers. Though faster, baseline
compilers still take time and waste code space for infrequently executed code.
A typical interpreter being infeasible, some engines resort to compiling Wasm
not to machine code, but to a more compact, but easy to interpret format. This
still takes time and wastes memory. Instead, we introduce in this article a
fast in-place interpreter for WebAssembly, where no rewrite and no separate
format is necessary. Our evaluation shows that in-place interpretation of Wasm
code is space-efficient and fast, achieving performance on-par with
interpreting a custom-designed internal format. This fills a hole in the
execution tier space for Wasm, allowing for even faster startup and lower
memory footprint than previous engine configurations.

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

Where Next?

Popular Frontend topics Top

First poster: OvermindDL1
**Run any code on any client.**With WebAssembly and Wasmer. It’s been almost 6-months since we released Wasmer 1.0, and the community ...
New
First poster: bot
How JavaScript engines achieve great performance. Ever wondered what browsers do to get JavaScript to execute quickly? Let’s take a look...
New
First poster: bot
Deno in 2021. Retrospect of what happened in 2021 and what’s coming in 2022
New
CommunityNews
The proposal “Pipe operator (|>) for JavaScript” (by J. S. Choi, James DiGioia, Ron Buckton and Tab Atkins) introduces a new operator....
/js
New
CommunityNews
See them here: This thread was posted by one of our members via one of our news source trackers.
New
First poster: bot
Monorepos in JavaScript & TypeScript. A tutorial how to use a monorepo architecture in frontend JavaScript and TypeScript with tools...
New
First poster: bot
Introducing Ezno. Introducing Ezno and the current state of the project.
New
First poster: bot
Chrome Browser Exploitation, Part 1: Introduction to V8 and JavaScript Internals. Web browsers, our extensive gateway to the internet. B...
New
First poster: bot
Welcome to the Open Source Seed Initiative - Open Source Seed Initiative. Today, only a handful of companies account for most of the wor...
New
New

Other popular topics Top

ohm
Which, if any, games do you play? On what platform? I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
AstonJ
We’ve talked about his book briefly here but it is quickly becoming obsolete - so he’s decided to create a series of 7 podcasts, the firs...
New
New
AstonJ
Was just curious to see if any were around, found this one: I got 51/100: Not sure if it was meant to buy I am sure at times the b...
New
First poster: bot
Large Language Models like ChatGPT say The Darnedest Things. The Errors They MakeWhy We Need to Document Them, and What We Have Decided ...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New