Welcome to Wren
Wren is a web browser written from scratch in Odin. Its JavaScript engine is
its own, compiled to WebAssembly and run in a sandbox: one instance per page and per worker, with a capped heap
and a deadline on every call. A page can also be a single .wasm file that calls the browser
directly, no JavaScript at all. Style, layout, painting, the DOM and the network are new code; there is no
Chromium underneath.
Download Wren 0.6.28 for Windows x64 or Linux x86-64 (an early preview, free during the beta; PolyForm Strict license)
What works
- Documents and CSS-heavy sites, within a few percent of Edge pixel for pixel.
- Sites whose scripts add to the page: menus, themes, web components, observers.
- WebAssembly pages with the DOM, events, timers, fetch, WebSocket, workers and storage.
What doesn't, yet
- JavaScript is interpreted, with a JIT for numeric loops only, so script-heavy pages are slow.
- About 72 % of the members of the web platform's Web IDL are implemented; no WebGPU or WebRTC, WebGL without transform feedback.
- Linux needs glibc 2.39 or later, and decodes video in software for now.
Some numbers
| 1.4 | ms | CPU to wheel-scroll 10,000 paragraphs (99th percentile, under the 5.56 ms of a 180 Hz frame) |
| 2.3 | ms | GPU for the same |
| 1.3 | ms | for a page's JavaScript to start |
| 7 | ns | a call from WebAssembly into the browser (58 modules, 1,482 functions) |
| 0.3 | s | from launch to the start page drawn |
Measured on the development machine. The rest is in the features, the changelog and the architecture notes.