Each example implements the same click counter: one button starts at “Clicks: 0” and increments when clicked. Kaja uses a custom element; Yew, Leptos, and Dioxus render their equivalent framework component.
Size in kilo bytes, smaller is better.
| Framework | Uncompressed .wasm (kB) |
|---|---|
| Kaja | 97 kB |
| Leptos | 155 kB |
| Yew | 221 kB |
| Dioxus | 705 kB |
Conclusion all binaries are small but KajaWeb produces the smallest binaries.
Handling 250 clicks in the component. Faster is better.
| Framework | Startup median (ms) | Click batch median (ms) | Median per click (µs) |
|---|---|---|---|
| Kaja | 26.10 | 2.20 | 8.80 |
| Yew | 33.40 | 16.60 | 66.40 |
| Leptos | 33.40 | 16.50 | 66.00 |
| Dioxus | 50.30 | 16.30 | 65.20 |
All frameworks are very fast. Kaja Web is fastest framework in this benchmark but minor tweaks to the code under test changes the benchmarks considerably, take this benchmark with a grain of salt.
Email: johan.mattsson.m@gmail.com
Mastodon:
typo.social/@birdfont
Github:
johanmattssonm
Linkedin:
johan-mattsson-2ab324112