search for standard sites pub-search.waow.tech
search zig blog atproto
11
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: update for zig 0.16 — thread-per-connection, io param signatures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+4 -2
+3 -1
docs/performance-saga.md
··· 78 78 79 79 on a shared CPU with fractional allocation, all these threads compete. the BatchSpanProcessor's 500ms TLS flush is particularly suspect — TLS is CPU-intensive. 80 80 81 + > **note (april 2026):** the backend now runs on zig 0.16 with thread-per-connection (Thread.Pool was removed). the thread count listed above is from the 0.15 era but the contention analysis still applies. 82 + 81 83 ## possible next steps 82 84 83 85 1. **upgrade VM**: move to `performance-1x` (dedicated CPU) — this is the real fix ··· 88 90 89 91 ``` 90 92 client → fly proxy (TLS termination) → app (port 3000) 91 - ├── HTTP thread pool (16 workers) 93 + ├── thread-per-connection (accept loop spawns threads) 92 94 ├── local SQLite (read_conn for search, conn+mutex for writes) 93 95 ├── turso client (fallback for unsupported queries) 94 96 ├── sync thread (turso → local, full on startup + periodic incremental)
+1 -1
docs/reconciliation.md
··· 41 41 | file | role | 42 42 |------|------| 43 43 | `backend/src/ingest/reconciler.zig` | background worker (~250 lines) | 44 - | `backend/src/main.zig` | wires up `ingest.reconciler.start(allocator)` after `tpuf.init()` | 44 + | `backend/src/main.zig` | wires up `ingest.reconciler.start(allocator, io)` after `tpuf.init()` | 45 45 | `backend/src/db/schema.zig` | `verified_at TEXT` column migration | 46 46 | `backend/src/ingest/tap.zig` | `tpuf.delete()` after `indexer.deleteDocument()` | 47 47