5 ms·
We are working on exactly this: https://browserpod.io https://browserpod.io For a full-stack demo see: https://vitedemo.browserpod.io/ https://vitedemo.browser
by apignotti 6mo ago
We are working on exactly this: https://browserpod.io https://browserpod.io
For a full-stack demo see: https://vitedemo.browserpod.io/ https://vitedemo.browserpod.io/
To get an idea of our previous work: https://webvm.io https://webvm.io
- otterley 6mo agoHow’s performance relative to bare metal or hardware virtualization?
- johndough 6mo agoI ran two experiments: ~20x slower for a naive recursive Fibonacci implementation in Python (1300 ms for fib(30) in this VM vs 65ms on bare metal. For comparison, CPython directly compiled to WASM without VM overhead does it in 140ms.) ~2500x slower for 1024x1024 matrix multiplication with NumPy (0.25 GFLOPS in VM vs 575 GFLOPS on bare metal).
- apignotti 6mo agoThis is not correct. You are using WebVM here, not BrowserPod. WebVM is based on x86 emulation and JIT compilation, which at this time lowers vector instructions as scalar. This explains the slowdowns you observe. WebVM is still much faster than v86 in most cases. BrowserPod is based on a pure WebAssembly kernel and WebAssembly payload. Performance is close to native speed.
- johndough 6mo agoI see. I thought they were the same and https://vitedemo.browserpod.io/ https://vitedemo.browserpod.io/ failed to load, so I was not able to test there.
- apignotti 6mo agoDemo works as expected for me, please share information if possible or join our Discord for further help: https://discord.leaningtech.com https://discord.leaningtech.com
- johndough 6mo agoI dug a bit deeper. The cause was that navigator.storage.getDirectory() is not available in Firefox private browsing mode. The performance is pretty amazing. fib(35) runs in 60ms, compared to 65ms in NodeJS on Desktop. But I can't find a shell. Is there only support for NodeJS at the moment?
- apignotti 6mo agoOnly node is supported as of version 1.1, but the next version is fully focused on command line tooling (git, bash, ssh, grep, ...). See the launch blog post for our full timeline: https://labs.leaningtech.com/blog/browserpod-10 https://labs.leaningtech.com/blog/browserpod-10 Also, could I ask you to quickly edit your previous comment to clarify you were benchmarking against the older project?
- johndough 6mo agoUnfortunately, that comment can not be edited anymore. Maybe @dang can change it or remove the comment chain. I am fine with both.