tursodatabase/libsql

Make the WebAssembly runtime configurable

Open

#120 opened on Jan 26, 2023

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

Repository metrics

Stars
 (16,744 stars)
PR merge metrics
 (Avg merge 23h 19m) (1 merged PR in 30d)

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