nowfound

Dev tools · alternatives · 2026

24 alternatives to My Go SQLite driver did poorly on a benchmark, so I fixed it

https://github.com/ncruces/go-sqlite3 was doing poorly on this benchmark that was posted yesterday to HackerNews [1]. With the help of some pprof, I was able to trace it to a serious performance regression introduced two weeks ago, and come up with the fix (happy to field questions, if you're interested in the nitty gritty). It's not the fastest driver around, but it's no longer the slowest: comfortably middle of the pack. It's based on a WASM build of SQLite, and thanks to https://wazero.io doesn't need CGO. [1]:…

Go-sqlite3 is a SQLite driver for Go built on WebAssembly that eliminates the need for CGO. After underperforming in recent benchmarks, the developer identified and resolved a performance regression, bringing it to… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. My Go SQLite driver did poorly on a benchmark, so I fixed it launched in 2023; newer entries below may have overtaken it.

  1. 1

    I make a no-CGO Go SQLite driver, by compiling the amalgamation to Wasm, then loading the result with wazero (a CGO-free Wasm runtime). To compile SQLite, I use wasi-sdk, which uses wasi-libc, which is based on musl. It's been said that musl is slow(er than glibc), which is true, to a point. musl uses SWAR on a size_t to implement various functions in string.h. This is fine, except size_t is just 32-bit on Wasm. I found that implementing a few of those functions with Wasm SIMD128 can make them go around 4x faster. Other functions don't even use SWAR; redoing those can make them 16x faster.…

    2025 · github.com · its alternatives →

  2. 2

    SQLite encryption at-rest is a hot requested feature of both the “default” CGo driver [1] and the transpiled alternative driver [2]. So, this is a feature I wanted to bring to my own Wasm based Go driver/bindings [3]. Open-source SQLite encryption extensions have had a troubled last few years. For whatever reason, in 2020 the (undocumented) feature that made it easy to offer page-level encryption was removed [4]. Some solutions are stuck with SQLite 3.31.1, but Ulrich Telle stepped up with a VFS approach [5]. Still, their solution seemed harder than something I'd want to maintain, as it…

    2024 · github.com · its alternatives →

  3. 3

    I've spent the past couple of weeks building a Wasm-to-Go translator. It supports a subset of Wasm useful enough to translate SQLite into 600k LoC (~20 MiB) of Go code. It already passes all of my Go SQLite driver's tests across the 20 platforms I support. Performance compared to https://wazero.io/ is a bit of a mixed bag: code that frequently crosses the Go-Wasm boundary improves, but code that spends most of its time in "Wasm land" doesn't. There's probably room for improvement (I'd love to hear your ideas), but this is also a testament to how good the wazero AOT compiler…

    Feb 2026 · github.com · its alternatives →

  4. 4

    No gc, No goroutines, Produces small binaries while using the unmodified official go toolchain, and comes with complete Web SDK (generated from w3c/webref). We are building `pcz` to provide a reimagination of Go the language, in an effort to make it suitable for all kinds of programming tasks, and currently you can use it to build efficient web applications in Go using the generated Web SDK (as shown with the live web demo[1]). The journey is just starting, any suggestions? or any critics? [1]: https://primecitizens.github.io/livedemos/10-plat-web/

    2023 · github.com · its alternatives →

  5. 5

    A Go SQL query builder and struct mapper. Contribute to samonzeweb/godb development by creating an account on GitHub.

    2016 · github.com · its alternatives →

  6. 6

    Tesseract is one of the largest Open Source OCR (Optical Character Recognition) projects. There is already a Go library for using Tesseract from Go with CGo, called Gosseract. However if you are interested in OCR from Go without C complicating building and cross-compiling, there aren't any other options. Wazero is a Go WASM runtime that doesn't have any CGo dependencies. With Emscripten Tesseract has been compiled to WASM and ran within Wazero. Gogosseract provides a simple API on top of this. This project has been an interesting delve into the world of WASM.

    2023 · github.com · its alternatives →

  7. 7

    I wanted to make my own evaluation of what kind of performance I could expect from SQLite on a server and investigate the experimental `BEGIN CONCURRENT` branch vs the inbuilt `DEFERRED` and `IMMEDIATE` behaviors. Explanatory blog post: https://reorchestrate.com/posts/sqlite-transactions/

    2024 · github.com · its alternatives →

  8. 8

    Hi HN, I have been making this Cozo database since half a year ago, and now it is ready for public release. My initial motivation is that I want a graph database. Lightweight and easy to use, like SQLite. Powerful and performant, like Postgres. I found none of the existing solutions good enough. Deciding to roll my own, I need to choose a query language. I am familiar with Cypher but consider it not much of an improvement over CTE in SQL (Cypher is sometimes notationally more convenient, but not more expressive). I like Gremlin but would prefer something more declarative. Experimentations…

    2022 · github.com · its alternatives →

  9. 9

    Here's the repo: https://github.com/simonw/google-drive-to-sqlite The README is using a trick I'm increasingly leaning on: parts of that document - the --help output and the example database schema - are automatically generated using Cog: https://nedbatchelder.com/code/cog and https://til.simonwillison.net/python/cog-to-update-help-in-r...

    2022 · simonwillison.net · its alternatives →

  10. 10

    Hi HN, Today we’re launching PowerSync, a Postgres<>SQLite bi-directional sync engine that enables an offline-first app architecture. It currently supports Flutter, React Native and web (JavaScript) using Wasm SQLite in the browser, with more client SDKs on the way. Conrad and I (Ralf) have been working on our sync engine since 2009, originally as part of a full-stack app platform. That version of the system is still used in production worldwide and we’ve learnt a lot from its use cases and scaling. About a year ago we started on spinning off PowerSync as a standalone product that is…

    2023 · powersync.com · its alternatives →

  11. 11

    Go bindings to SQLite using wasm2go. Contribute to ncruces/go-sqlite3 development by creating an account on GitHub.

    2023 · github.com · its alternatives →

  12. 12

    Golang SQLite without cgo. Contribute to cvilsmeier/sqinn-go development by creating an account on GitHub.

    2023 · github.com · its alternatives →

  13. 13

    A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. - GitHub - rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects.

    2023 · github.com · its alternatives →

  14. 14

    At JigsawStack.com, we are using Redis by Upstash to store and validate API keys among other datasets for speedy retrieval. As we scaled to more Asian markets and added replicated nodes, the cost started to shoot up while performance got a lot worse. I discovered hosting SQLite on Fly which was crazy fast & cheap with the full power of a relational database but difficult to use and scale without writing tons of code & devops. Then I found Turso as a managed service which is pretty cool but again got really expensive and had to manage a bunch of replications manually and pay per replications…

    2024 · dzero.dev · its alternatives →

  15. 15

    I built a SQLite VFS in Rust that serves cold queries directly from S3 with sub-second performance, and often much faster. It’s called turbolite. It is experimental, buggy, and may corrupt data. I would not trust it with anything important yet. I wanted to explore whether object storage has gotten fast enough to support embedded databases over cloud storage. Filesystems reward tiny random reads and in-place mutation. S3 rewards fewer requests, bigger transfers, immutable objects, and aggressively parallel operations where bandwidth is often the real constraint. This was explicitly inspired…

    Mar 2026 · github.com · its alternatives →

  16. 16

    SQL builder and powerful database toolkit for Golang - colinjfw/sqlkit

    2019 · github.com · its alternatives →

  17. 17GA

    I wanted to build a persistent message queue based on SQLite, because that's what I'm using for my main state anyway. This gives me ACID across state and messaging, which is nice! I've been inspired by the terminology of AWS SQS for this, but it's obviously much simpler. Maybe you can use it too. :)

    2024 · goqite.com · its alternatives →

  18. 18

    Hi everyone! I wanted to share my analytics app with you. This project came from requirements to track certain very frequent events. I found that the cost to do it on a regular analytics product was much more than i was willing to pay. Secondly, I also wanted to use as few resources as possible. So I thought it may be a good idea to create something that may be useful for myself (and hopefully others). I have been able to track a great number of events with this using ~20 MB of storage and memory which is incredible. I have been really impressed by golang as a language and as an ecosystem…

    2025 · github.com · its alternatives →

  19. 19

    I've always been curious about how SQL engines actually work. So I built a minimum viable SQL engine in Go. - Supports CSV files as tables - Supports SELECT, FROM, WHERE, LIMIT It's very simple: 1. Parses query string 2. Converts it into an AST representation 3. Executes the query against the CSV 4. Returns the results

    2024 · github.com · its alternatives →

  20. 20

    Hi HN - DBOS CEO here with the co-founders of DBOS, Peter (KraftyOne) and Qian (qianli_cs). The company started as a research project of Stanford and MIT, and Peter and Qian were advised by Mike Stonebreaker, the creator of Postgres, and Matei Zaharia, the creator of Spark. They believe so strongly in reliable, serverless compute that they started a company (with Mike) to bring it to the world! Today we want to share our brand new Python library providing ultra-lightweight durable execution. https:&#x2F;&#x2F;github.com&#x2F;dbos-inc&#x2F;dbos-transact-py Durable execution means your program…

    2024 · github.com · its alternatives →

  21. 21SC
  22. 22

    Hi there, I've been working sporadically over the last six months on a go monorepo tool (0 config it just use go workspace and go convention). It’s basically like TurboRepo but without the task runner. The tool builds a dependency graph between packages, allowing you to do things similar to what you can do in TurboRepo, like "only test the packages and the packages that depend on them, compared to the main branch," or "only install dependencies for Package A and its dependencies," etc. I use native go tool to get dependencies and create dependency graph between the package.Nothing crazy but…

    2024 · github.com · its alternatives →

  23. 23

    I ordered the cheapest Hetzner CX23 ($4.99/mo, shared CPU) and ran a real-workload SQLite benchmark with a 6 GB database on 3.7 GB of RAM.

    May 2026 · s13k.dev · its alternatives →

  24. 24

    ⚡ High-performance job queue for Bun. SQLite by default, PostgreSQL multi-broker when you scale. DLQ, cron, SQLite S3 backups, and native MCP. No Redis. - egeominotti/bunqueue

    Feb 2026 · github.com · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →