BreezeORM, Fast and Secure

Over the past few months I’ve been spending a lot of time profiling and optimizing BreezeORM.

After several rounds of profiling, benchmarking, and removing bottlenecks, here’s where things currently stand compared to other Go ORMs.

CRUD Benchmarks (lower is better)
:white_check_mark: Fastest ORM in Insert
:white_check_mark: Fastest ORM in FindByID
:white_check_mark: Fastest ORM in Select (WHERE + LIMIT)
:white_check_mark: Fastest ORM in Update

One thing I’m particularly happy about is that these improvements weren’t achieved by simply increasing memory usage.
For example, in the SELECT benchmark:
BreezeORM: 11 KB / 300 allocs
Bun: 22 KB / 343 allocs
GORM: 28 KB / 671 allocs

There is still room for improvement, especially to close the remaining gap with raw database/sql and lightweight libraries like sqlx, but I’m very happy with the direction the project is taking.

Performance is only one part of an ORM, but I believe a modern ORM shouldn’t force developers to trade productivity for speed.
Feedback, ideas, and benchmark reviews are always welcome.

github: GitHub - nelthaarion/breezeorm · GitHub

documentations: https://nelthaarion.github.io/breezeorm