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 · World Congress 2023

1:48 min

Introduction to WebAssembly as a compilation target

Niels Tanis Niels Tanis · World Congress 2023

2:27 min

Introduction to WebAssembly in a cloud computing context

Edo Edo · World Congress 2024

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 25, 2026 · 15:30–15:40

Outdoor Stage

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

September 25, 2026 · 15:30–16:00

Stage 6

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

September 23, 2026 · 13:00–13:30

Stage 2

Parallelize Your Development with GitHub Copilot

Pamela Fox

Principal Cloud Advocate, Microsoft

Pamela Fox
Open session

World Congress 2026 North America

September 25, 2026 · 16:00–16:10

Outdoor Stage

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

September 24, 2026 · 16:10–16:40

Outdoor Stage

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

September 24, 2026 · 10:20–10:50

Stage 1

The Browser Is Becoming an AI Runtime

Ajit Varma, Will Bryk

Ajit Varma
Will Bryk