Skip to content

Performance ​

This page is the canonical benchmark reference for Allyourbase.

The measurements below are baseline numbers captured from local benchmark runs and should be treated as best-case guidance, not production guarantees.

Methodology ​

These API benchmarks come from internal/api/benchmark_test.go and run in-process with Go httptest against a local PostgreSQL instance.

  • The benchmark harness uses setupBenchServer() to reset schema state, seed rows, and create the server.
  • Requests are executed by benchRequest() with httptest.NewRequest, httptest.NewRecorder, and srv.Router().ServeHTTP.
  • No real network sockets, TLS, load balancer, or cross-host latency are involved.
  • Benchmark functions covered: BenchmarkHealthCheck, BenchmarkReadSingle, BenchmarkListDefault, BenchmarkListFiltered, BenchmarkListLargeTable, BenchmarkCreate, BenchmarkUpdate, BenchmarkDelete, BenchmarkBatchCreate.

Command used from the repository root:

bash
go test ./internal/api -tags=integration -bench=. -benchmem -benchtime=3s

Hardware and Software Environment ​

Measured on 2026-02-17:

  • CPU: Intel i7-9750H (6C/12T @ 2.60GHz)
  • OS: macOS
  • Database: PostgreSQL 15.14 (local)

Benchmark Tables ​

Binary Size ​

BuildSize
Default (go build)36 MB
Stripped (-ldflags="-s -w")25 MB

Includes the embedded admin dashboard, migration tools, and MCP server.

Startup Time ​

ModeTime
External PostgreSQL~310 ms

Measured from process start until the health endpoint returns HTTP 200.

Memory Usage (RSS) ​

StateRSS
After startup (idle)20.5 MB
After 600 requests (health + schema)20.5 MB

No memory growth was observed in this run.

API Benchmarks (httptest + local PostgreSQL) ​

Benchmarkops/3sns/opB/opallocs/op
HealthCheck704,3384,3927,79242
ReadSingle (100 rows)73,31147,78610,19896
ListDefault (100 rows, 20/page)30,848122,00236,333608
ListFiltered (1K rows, filter+50/page)16,765213,91877,3801,419
ListLargeTable (10K rows, 100/page)8,576397,538143,7612,698
Create7,776533,08714,096163
Update8,252444,78813,713150
Delete10,000404,46310,23989
BatchCreate (50 ops)38215,687,150272,4625,665

Interpretation and Caveats ​

Throughput summary from this baseline:

  • Health check: ~228K req/s (baseline, no DB)
  • Single record read: ~21K req/s
  • List (default): ~8.2K req/s
  • Create: ~1.9K req/s (includes DB write + fsync)
  • Batch create (50 items): ~64 req/s, roughly ~3.2K items/s

These numbers are useful for relative comparisons and regression detection. They are not SLAs and do not represent p99 latency, internet-facing throughput, or full production topology behavior.

For production planning, include network hops, TLS, proxies, connection pooling, dataset growth, query shape, and deployment-specific limits.

Released under the MIT License.