World Congress 2026 Europe - Virtual Stage Jul 2, 2026 Session details

Speeding up Web Apps performance with WebAssembly and Emscripten

Paweł Aniszewski

WebAssembly isn't a magic speed button. Learn how to use Emscripten to port native libraries, manage memory boundaries, and truly optimize CPU-bound web workloads.

Pause
Mute Enter Fullscreen
#1 about 5 min

Introduction to WebAssembly and basic compilation with Clang

Exporting raw C snippets via Clang exposes a steep learning curve without automated memory assignments and a standard library.

#2 about 4 min

Using Emscripten to compile C code into WebAssembly

Emscripten bridges architectural gaps by emulating operating systems and providing standard allocation routines for seamless compilation.

#3 about 2 min

Bridging JavaScript and WebAssembly runtimes with Emscripten macros

Inlining JavaScript directly within C++ implementations resolves complex boundary interactions and enables direct runtime manipulation.

#4 about 2 min

Offloading WebAssembly execution to background web workers

Proxying intensive CPU calculations to separate web workers prevents main thread freezing and maintains fluid UI rendering.

#5 about 4 min

Evaluating WebAssembly use cases and SIMD performance benchmarking

Vectorized instructions executed through Emscripten configurations vastly outperform equivalent scalar operations performed natively within JavaScript engines.

#6 about 2 min

Understanding the performance tax of crossing runtime boundaries

Frequent lightweight calls across the WebAssembly partition introduce measurable latency that negates potential compilation optimizations.

#7 about 3 min

Porting the cryptographic Bitcoin core library to WebAssembly

Compiling existing robust cryptography libraries like libsecp into WebAssembly modules stabilizes heavy cryptographic validations securely.

#8 about 3 min

Guidelines for choosing between native WebAssembly and JavaScript

Relying upon native JavaScript remains optimal unless heavy processing throughput or established libraries explicitly require offloading.

#9 about 3 min

Managing memory allocation and handling application asset sizes

Navigating manual memory deallocation prevents significant crashes while isolating compiled modules within sandboxed linear boundaries.

#10 about 3 min

Cross-compiling end-to-end encrypted client libraries with WebCrypto

Integrating built-in web cryptography APIs alongside WebAssembly modules restricts unnecessary bundle sizing when sharing code environments.

#11 about 4 min

Designing reliable JavaScript wrappers around WebAssembly lifecycle objects

Abstracting lifetime initializations into clean TypeScript singletons removes manual pointer tracking complexities for widespread downstream adoption.

#12 about 2 min

Optimizing bundle sizing using customized Emscripten compilation flags

Configuring build modifiers to target browser environments exclusively reduces unneeded Node glue code and overhead latency.

#13 about 2 min

Summary of utilizing Emscripten for targeted code offloading

Treating WebAssembly entirely as an environment for porting CPU-bound logic prevents unnecessary maintenance and disjointed integrations.

Matching moments

3:33 min

Evaluating performance differences between WebAssembly and JavaScript

Rainer Stropek Rainer Stropek · LIVE

2:20 min

Understanding hardware performance advantages of WebAssembly code

Chris Heilmann +3 · LIVE

4:02 min

Compilers and runtimes in the WebAssembly ecosystem

Edoardo Dusi · LIVE

4:54 min

The origins and design principles of WebAssembly

Maurice Brinkmann · WWC 2023

1:48 min

Introduction to WebAssembly as a compilation target

Niels Tanis Niels Tanis · WWC 2023

2:27 min

Introduction to WebAssembly in a cloud computing context

Edo Edo · WWC 2024

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

Small LLM in your Browser: Huge Opportunities for Web Applications

Daniel Ostrovsky

UI/UX Architect at Payoneer | AI Architect | Full Cycle Development Expert | Public Speaker | Open Source Contributor |

Daniel Ostrovsky
Open session

World Congress 2026 North America

Fast by Design: A Masterclass in High-Performance Web Engineering

Aaron Grogg

Senior web developer, committed to improving the user experience by improving web performance

Aaron Grogg
Open session

World Congress 2026 North America

public void saveMoney(AI): The Developer's Guide to Unit Economics

Hrushikesh Pokala

Senior Software Engineer Lead at Equifax

Hrushikesh Pokala
Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo