The v0.20.x series (I just released v0.20.1) should improve this significantly.
The driver was reserving lots of address space (with a protected, private, anonymous mapping) which doesn't play well with VMs and OSes that don't like to overcommit. It now reserves much less address space by default, and this can be reduced further.
I also brought SQLite WAL mode support to 32-bit archs, to Windows and (through a build tag) to any OS that with an atomic mkdir (used for locking).
Happy to discuss here, if you're looking for more in depth commentary.
ncruces 7 days ago |
I'm the developer of the Wasm driver mentioned in the article: https://github.com/ncruces/go-sqlite3
The v0.20.x series (I just released v0.20.1) should improve this significantly.
The driver was reserving lots of address space (with a protected, private, anonymous mapping) which doesn't play well with VMs and OSes that don't like to overcommit. It now reserves much less address space by default, and this can be reduced further.
I also brought SQLite WAL mode support to 32-bit archs, to Windows and (through a build tag) to any OS that with an atomic mkdir (used for locking).
Happy to discuss here, if you're looking for more in depth commentary.