Skip to content

v0.22.1

Choose a tag to compare

@github-actions github-actions released this 17 Dec 15:06
· 9 commits to main since this release
9d4ac9a

Release version v0.22.1

Release sha256 is 0b07a86555e7adf9aed7f5e4eeb5f89762e182420574edf81cf98173e0d80121

Notable changes

We have made significant improvements to the performance of our generated code and introduced a performance benchmark for future reference, here are the current benchmark results:

Provider Operation Metric SQLC EF Core SQLC Advantage
MySQL Read (High Load) Time 2.85 s 15.47 s 5.4x Faster
    Memory 178 MB 783 MB 77% Less RAM
  Write (300K rows) Time 3.96 s 77.76 s 19.6x Faster
Postgres Read (High Load) Time 11.91 s 12.48 s 1.05x Faster
    Memory 131 MB 387 MB 66% Less RAM
  Write (300K rows) Time 4.25 s 24.52 s 5.7x Faster
SQLite Read (High Load) Time 9.17 s 10.27 s 1.1x Faster
    Memory 127 MB 343 MB 63% Less RAM
  Write (300K rows) Time 10.74 s 17.81 s 1.6x Faster

📈 Key Takeaways

  • Massive Write Performance: SQLC demonstrated an incredible 19.6x speed increase over EF Core in MySQL bulk-write operations (300K rows), reducing execution time from over 77 seconds to under 4 seconds.
  • Superior Memory Efficiency: Across all database providers, SQLC consistently used 60% to 77% less memory. This significantly reduces pressure on the Garbage Collector (GC) and lowers operational costs for high-traffic services.
  • Optimized for High Load: In complex MySQL read scenarios with high query counts, SQLC remained stable at 2.85s while EF Core's performance degraded to 15.47s (a 5.4x difference).

Configuration example

version: '2'
plugins:
- name: csharp
  wasm:
    url: https://github.com/DaredevilOSS/sqlc-gen-csharp/releases/download/v0.22.1/sqlc-gen-csharp.wasm
    sha256: 0b07a86555e7adf9aed7f5e4eeb5f89762e182420574edf81cf98173e0d80121

Changelog

9d4ac9a - Ilan Uzan, 3 minutes ago : [release] * feat: Add read & write performance benchmark with efcore for all databases (#357)
d9c88a9 - Ilan Uzan, 4 weeks ago : fix: empty options usecase in ExamplesDocGen (#355)

Contributors