What if the browser was the server?(arthurcornil.com)
arthurcornil.com
What if the browser was the server?
https://arthurcornil.com/blog/ship-it-to-the-user/
10 comments
I think a lot of companies already trying to use this stuff, not SQL related but rather focusing more on the frontend.
In reality, this causes more issues, like data fragmentation, versioning between different versions, security and at the end of the day it's a either a dev cost or server cost to implement this.
Usually, server costs are much much cheaper than dev cost to implement all this into FE, but it's a viable thing for the future.
Usually, server costs are much much cheaper than dev cost to implement all this into FE, but it's a viable thing for the future.
How's the performance? My Wasm-under-Wasm tests became slow since I transitioned to the wasm2go transpiler, but I wonder if that's an artifact of repeated slow compilation (rather than execution) of tests.
For my use case (small datasets), query execution feels instant. No perceptible lag between user action and result. Though I haven't done formal benchmarking.
The initial load time is the bottleneck, not query execution. Whether that's the transpiler or just the Go runtime overhead I can't say without proper benchmarking.
Thanks! Yeah, I guess on the web it would always manifest as load time.
But order of magnitude, with everything cached, on a decent laptop/desktop, is it a few seconds, or a minute?
Because what I get from testing in CI is every test takes a minute.
But order of magnitude, with everything cached, on a decent laptop/desktop, is it a few seconds, or a minute?
Because what I get from testing in CI is every test takes a minute.
With everything cached in production (compressed) it takes ~100ms to load the binary.
Total global initialization including Go runtime startup and SQLite connection takes ~280ms on an M1 MacBook Pro.
So well under a second end to end with a warm cache.
Total global initialization including Go runtime startup and SQLite connection takes ~280ms on an M1 MacBook Pro.
So well under a second end to end with a warm cache.
That's good to know, thanks!
It makes this quite realistic, which might mean a good/great OPFS VFS (like Roy's) actually starts to make sense.
https://github.com/rhashimoto/wa-sqlite/discussions
Unfortunately I'm not knowledgeable enough on the browser side of things to advance something like that, and have quite a bit on my plate already. But if there's interest I can help demystify the SQLite/VFS side of things. Feel free to (e.g.) open a GitHub discussion on my repo to track this.
It makes this quite realistic, which might mean a good/great OPFS VFS (like Roy's) actually starts to make sense.
https://github.com/rhashimoto/wa-sqlite/discussions
Unfortunately I'm not knowledgeable enough on the browser side of things to advance something like that, and have quite a bit on my plate already. But if there's interest I can help demystify the SQLite/VFS side of things. Feel free to (e.g.) open a GitHub discussion on my repo to track this.
Live Demo: https://localtrack.arthurcornil.com/ GitHub: https://github.com/arthurcornil/localtrack