4 ms·
I solved this by using Wasm. Your outer application shell calls into Wasm business logic, only the inner logic needs to get recompiled, the outer app shell does
by sitkack 2y ago
I solved this by using Wasm. Your outer application shell calls into Wasm business logic, only the inner logic needs to get recompiled, the outer app shell doesn't even need to restart.
- ComputerGuru 2y agoI don’t think I can use wasm with simd or syscalls, which is the bulk of my work.
- sitkack 2y agoI haven't used SIMD in Rust (or Wasm). Syscalls can be passed into the Wasm env. https://doc.rust-lang.org/core/arch/wasm32/index.html#simd https://doc.rust-lang.org/core/arch/wasm32/index.html#simd https://nickb.dev/blog/authoring-a-simd-enhanced-wasm-library-with-rust/ https://nickb.dev/blog/authoring-a-simd-enhanced-wasm-librar... Could definitely be more effort than it is worth just to speed up compilation.
- SkiFire13 2y agoHow is this different than dynamically linking the business logic library?
- sitkack 2y agoVery similar, but Wasm has additional safety properties and affordances. I am trying to get away from dynamic libs as an app extension mechanism. It is especially nice when application extension is open to end users, they won't be able to crash your application shell. https://wasmtime.dev/ https://wasmtime.dev/ https://github.com/bytecodealliance/wasmtime https://github.com/bytecodealliance/wasmtime