homebrew-musl-cross
sqinn
Our great sponsors
homebrew-musl-cross | sqinn | |
---|---|---|
3 | 4 | |
521 | 74 | |
- | - | |
5.2 | 7.0 | |
14 days ago | about 1 month ago | |
Ruby | C | |
ISC License | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
homebrew-musl-cross
-
Show HN: Sqinn-Go is a Golang library for accessing SQLite databases in pure Go
Or with musl-cross:
https://github.com/FiloSottile/homebrew-musl-cross
It works pretty well! It's a thing you might keep in your back pocket to test builds from your ARM dev machine on a dev host, and then let the CI/CD system build the real version later.
-
M1 Users - How are you Cross Compiling?
The musl-cross tap: https://github.com/FiloSottile/homebrew-musl-cross
-
Build on mac M1
BUT! If you need some cross-compile, which usually we did by homebrew-musl (AWS Lambda, for example), currently this is not working without several unstable workarounds. Github issue: https://github.com/FiloSottile/homebrew-musl-cross/issues/23
sqinn
-
Show HN: My Go SQLite driver did poorly on a benchmark, so I fixed it
First part of the README that hasn't changed in 2 months:
> Sqinn-Go is a Go (Golang) library for accessing SQLite databases without cgo. It uses Sqinn https://github.com/cvilsmeier/sqinn under the hood. It starts Sqinn as a child process (os/exec) and communicates with Sqinn over stdin/stdout/stderr. The Sqinn child process then does the SQLite work.
> If you want SQLite but do not want cgo, Sqinn-Go can be a solution.
This seems pretty clear to me about what's happening. It makes an OS call to a third-party executable (sqinn), pipes the result from stdout back into the Go code. The advantage is you don't have to compile the C code alongside your Go code.
Honestly, I don't really know how much more clear the author could be. I guess if you don't know what stdin, stdout, and stderr are it might be confusing? It's hard to imagine that a programmer who is interested in this library isn't familiar with those concepts though.
- Show HN: Sqinn-Go is a Golang library for accessing SQLite databases in pure Go
-
SQLite in Go, with and Without Cgo
I've not used it, but sqinn is one sqlite server meant specifically to be used by languages without c calling conventions:
https://github.com/cvilsmeier/sqinn
-
SQLite in Go, with and without cgo
The latest supported version is 3.38.3: https://github.com/cvilsmeier/sqinn/releases/tag/v1.1.15
What are some alternatives?
rust - Empowering everyone to build reliable and efficient software.
go-sqlite3 - Go bindings to SQLite using wazero
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
tcl
gosqlite - SQLite driver for the Go programming language
drydock - Experiment in unit testing with PostgreSQL using Docker
go-sqlite-bench - Benchmarks for Golang SQLite Drivers
sqlite
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
Sqinn-Go - Golang SQLite without cgo
audiopus_sys - Rust FFI-binding of Opus.
go-sqlite3 - sqlite3 driver for go using database/sql