# Canonical sources Current facts and APIs live at these links. Verify there before quoting defaults or numbers. This file deliberately contains no version-pinned claims beyond pointers. ## Doctrine - TigerStyle, source of the doctrine: - TigerBeetle performance concepts, why batching and interface design win: ## Node.js official guides - Don't block the event loop: - Event loop, timers, and nextTick: - Backpressuring in streams: - Tracing garbage collection: ## Node.js API authority - Buffer, pooling and `allocUnsafe` semantics: - perf_hooks, `monitorEventLoopDelay` and `eventLoopUtilization`: - worker_threads, transfer lists and `SharedArrayBuffer`: - v8 module, heap statistics and snapshots: ## Runtime internals - libuv thread pool, what uses it and `UV_THREADPOOL_SIZE`: - V8 hidden classes and inline caches: - V8 objects and maps, dictionary mode: ## HTTP client - undici, pooling and pipelining: ## Facts that drift These change between Node and libuv releases. Never hardcode them from memory, read the links above: - libuv worker pool size defaults and maximum. - Buffer pool size and the pooled-slice threshold. - Stream `highWaterMark` defaults for bytes and object mode. - HTTP keep-alive defaults, client and server, and proxy idle-timeout mismatches. - Framework overhead rankings, see the fastify benchmarks repository for current runs.