tursodatabase/libsql

Make the WebAssembly runtime configurable

Open

#120 opened on Jan 26, 2023

View on GitHub
 (3 comments) (0 reactions) (1 assignee)C (16,744 stars) (490 forks)batch import
good first issuehelp wanted

Description

Right now the WebAssembly runtime is initialized with default settings only: https://github.com/libsql/libsql/blob/bd68c17adf23c038fcfc44813ea2a943b423ca63/src/rust/wasmtime-bindings/src/lib.rs#L80-L90

It would be nice to have a way of modifying the defaults, e.g. the WebAssembly stack size, various time limits, profiling, preemptions, etc. Here's how Wasmtime can be configured: https://docs.wasmtime.dev/api/wasmtime/struct.Config.html

libsql_wasm_engine_new function does not take parameters now, but we could extend it with a configuration struct, that can be used to pass custom options, e.g. passed as preprocessor macros or a custom PRAGMA statement.

Contributor guide