Our great sponsors
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.
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
tcl
- A brief interview with Tcl creator John Ousterhout
-
Tcl Ported to Go
Behold, a 16MB "Go" file: https://gitlab.com/cznic/tcl/-/blob/master/lib/tcl_windows_amd64.go
Based upon info in an AUTHORS file [0] for a different project by the user cznic, I think there is indeed some kind of connection with nic.cz
But I believe, based upon my membership on the GoNuts group / mailing list, that this is mostly the work of one individual, Jan Mercl (he is quite active in GoNuts) — as also stated in the previously mentioned AUTHORS file, and in the AUTHORS file for the port of Tcl that is the subject of the OP [1].
I have used some of his non-transpiled code/projects in my own Go projects in the past. He seems to be a very solid coder, often happy to share his views in GoNuts, and also frequently reviews others' code too.
[0] https://github.com/cznic/golex/blob/master/AUTHORS
[1] https://gitlab.com/cznic/tcl/-/blob/master/AUTHORS
- 뉴스 스크랩 2022-10-14
-
SQLite in Go, with and Without Cgo
I think the author of modernc.org/sqlite also ported the test suite. They wrote https://gitlab.com/cznic/tcl to run the TCL-based tests, for example.
What are some alternatives?
go-sqlite3 - Go bindings to SQLite using wazero
tk
drydock - Experiment in unit testing with PostgreSQL using Docker
pure-data - Pure Data - a free real-time computer music system
sqlite
Sqinn-Go - Golang SQLite without cgo
x11
homebrew-musl-cross - Homebrew Formula for static-friendly musl-based GCC macOS-to-Linux cross-compilers
cppwin32 - A modern C++ projection for the Win32 SDK
go-sqlite3 - sqlite3 driver for go using database/sql
zigwin32 - Zig bindings for Win32 generated by https://github.com/marlersoft/zigwin32gen