maxpert / marmot

A distributed SQLite replicator built on top of NATS
https://maxpert.github.io/marmot/
MIT License
1.81k stars 41 forks source link

Consider cgo-free version of sqlite #74

Open arnarg opened 1 year ago

arnarg commented 1 year ago

Since this is a bit more involved in sqlite than most other projects, this might very well not be an option, but have you considered/tested using https://pkg.go.dev/modernc.org/sqlite instead of the standard github.com/mattn/go-sqlite3?

It is reportedly a bit slower since it's transpiled from c to non-optimized go but it has worked for my use-cases well. And building is a breeze :) (I actually could not build marmot without using a docker image on NixOS).

Are there any other cgo dependencies that I'm missing?

maxpert commented 1 year ago

I've considered pure Go implementation before. My main motivation is to stick with the upstream so that people can get the latest and greatest features. For the build I intend to provide prebuilt binaries for all operating systems and CPUs. I already have work item to have MacOS binary part of build, but if NixOS is anything different then we can add that to list.

maxpert commented 1 year ago

Again I am open to contributions.