<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Performance on Momo Engineering Journal</title><link>/categories/performance/</link><description>Recent content in Performance on Momo Engineering Journal</description><image><title>Momo Engineering Journal</title><url>/images/og-image.png</url><link>/images/og-image.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 21 Oct 2026 11:26:56 -0600</lastBuildDate><atom:link href="/categories/performance/index.xml" rel="self" type="application/rss+xml"/><item><title>⚡ Bolt: Zero-Allocation SigV4 Canonical Headers</title><link>/posts/057-bolt-sigv4-zero-alloc-headers/</link><pubDate>Thu, 15 Oct 2026 11:43:50 +0000</pubDate><guid>/posts/057-bolt-sigv4-zero-alloc-headers/</guid><description>Every authenticated S3 request rebuilds a SigV4 canonical-headers block — and the two obvious ways to write it (strings.Split and Header.Get) each allocate on the hottest authorization path. This post walks through replacing both with an IndexByte scan and an EqualFold lookup, and the golden-equivalence test that proves the rewrite is byte-identical for every request AWS clients actually send.</description></item><item><title>⚡ Bolt: Zero-Allocation Parsing of ETag Lists</title><link>/posts/052-bolt-etag-matches-zero-alloc/</link><pubDate>Tue, 06 Oct 2026 11:16:37 +0000</pubDate><guid>/posts/052-bolt-etag-matches-zero-alloc/</guid><description>How we removed the heap allocation from ETag list parsing on the S3 conditional-request path by replacing strings.Split with a strings.IndexByte scan. Teaches: what If-Match/If-None-Match actually carry, why Split allocates per request, and how a microbenchmark proves the win.</description></item><item><title>🐜 Adaptive Systems: Ant-Colony Routing and Epigenetic Concurrency</title><link>/posts/052-adaptive-systems-foundations/</link><pubDate>Tue, 06 Oct 2026 05:19:24 +0000</pubDate><guid>/posts/052-adaptive-systems-foundations/</guid><description>How Momo replaces static concurrency limits and rigid replica selection with bio-inspired adaptive mechanisms: Ant Colony pheromone-based replica exploration and Epigenetic host-capacity admission.</description></item><item><title>Packing Small Objects into Superblocks: O(1) Reads Without Per-Blob Inodes</title><link>/posts/055-adaptive-volume-storage/</link><pubDate>Tue, 06 Oct 2026 02:44:44 +0000</pubDate><guid>/posts/055-adaptive-volume-storage/</guid><description>Why millions of small files per directory collapse a filesystem, and how a SeaweedFS-style volume layout fixes it: append-only superblocks, 8-byte-aligned needles with CRC32C frames, hole-punching deletion, and crash recovery by truncation. Teaches: the real cost of per-blob files, why alignment beats variable-length framing, and how to make crash recovery O(1).</description></item><item><title>⚡ Bolt: Zero-Allocation Parsing of AWS Chunked Headers</title><link>/posts/051-bolt-aws-chunked-zero-alloc/</link><pubDate>Thu, 01 Oct 2026 11:32:41 +0000</pubDate><guid>/posts/051-bolt-aws-chunked-zero-alloc/</guid><description>How we removed the last heap allocation from the aws-chunked ingest path by replacing strings.Split and strings.TrimPrefix with a strings.IndexByte scan. Teaches: what a streaming S3 upload body looks like, why Split allocates per chunk, and how a microbenchmark proves the win.</description></item><item><title>Eliminating Redundant Time Formats: Slicing for Speed</title><link>/posts/049-eliminate-redundant-time-format-allocations/</link><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate><guid>/posts/049-eliminate-redundant-time-format-allocations/</guid><description>By replacing a second &lt;code&gt;time.Format&lt;/code&gt; call with a simple string slice (&lt;code&gt;amzDate[:8]&lt;/code&gt;), we eliminated redundant heap allocations and CPU overhead when generating timestamps for AWS SigV4 requests.</description></item><item><title>⚡ Bolt: Eliminating the Last Remaining S3 XML Time Allocation</title><link>/posts/048-bolt-listparts-appendformat/</link><pubDate>Tue, 08 Sep 2026 11:29:58 +0000</pubDate><guid>/posts/048-bolt-listparts-appendformat/</guid><description>How we eliminated the final per-response heap allocation in S3 XML rendering by swapping time.Format for time.AppendFormat in the ListParts handler. Teaches: the stack-buffer time formatting pattern, why Format allocates, and how microbenchmarks prove the win.</description></item><item><title>⚡ Bolt: Zero-Allocation Last-Modified Headers</title><link>/posts/045-bolt-lastmodified-header/</link><pubDate>Tue, 01 Sep 2026 11:19:08 +0000</pubDate><guid>/posts/045-bolt-lastmodified-header/</guid><description>time.Format allocates a fresh string on every S3 GET/HEAD response. Swapping to time.AppendFormat drops that heap escape to zero — measured 32 B/op saved per request on the hottest read path.</description></item><item><title>⚡ Bolt: Eliminating Time Formatting Allocations in S3 HTTP Responses</title><link>/posts/047-bolt-s3-copyresult-time-alloc/</link><pubDate>Sun, 30 Aug 2026 11:20:58 +0000</pubDate><guid>/posts/047-bolt-s3-copyresult-time-alloc/</guid><description>How we optimized S3 XML responses by replacing time.Format with time.AppendFormat to eliminate heap allocations. Teaches: stack-buffer time formatting pattern, hot path identification via pprof.</description></item><item><title>The Benchstat Gauntlet: Performance Regressions as CI</title><link>/posts/025-benchmark-benchstat-gate/</link><pubDate>Fri, 28 Aug 2026 00:32:50 +0000</pubDate><guid>/posts/025-benchmark-benchstat-gate/</guid><description>Base-vs-branch benchmark comparison gates every PR — plus the runner-noise saga (S3PutSpool, LocalWrite, allowlist, apostrophe) that made it honest.</description></item><item><title>Reducing Read-Verify Hashing: Trust Earned by Real Verification</title><link>/posts/043-reduce-read-verify-hashing/</link><pubDate>Wed, 26 Aug 2026 19:00:59 +0000</pubDate><guid>/posts/043-reduce-read-verify-hashing/</guid><description>Verify-on-read re-hashes the full object on every local read (~8x slower than write). A ReadVerifier seam skips re-verification for blobs verified this process, while scrub still catches bitrot.</description></item><item><title>Perf Profiling Baseline: Measure Before You Optimize — and Keep pprof Off the Wire</title><link>/posts/042-perf-profiling-baseline/</link><pubDate>Wed, 26 Aug 2026 17:46:56 +0000</pubDate><guid>/posts/042-perf-profiling-baseline/</guid><description>Phase-0 profiling harness via go test -cpuprofile/-memprofile; Rule 75 forbids networked pprof on unauthenticated listeners. The baseline proved stdlib SHA-256 already uses AVX2.</description></item><item><title>⚡ Bolt: 1000 → 16 Allocations in S3 ListObjectsV2 XML</title><link>/posts/036-s3-listxml-appendformat-optimization/</link><pubDate>Mon, 24 Aug 2026 11:24:01 +0000</pubDate><guid>/posts/036-s3-listxml-appendformat-optimization/</guid><description>S3 ListObjectsV2 XML serialization dropped from ~1000 allocations to 16 per op via inlined time formatting and a pre-allocated escape buffer.</description></item><item><title>⚡ Bolt: Zero-Allocation and Hot-Path Engineering</title><link>/posts/024-bolt-performance-engineering/</link><pubDate>Wed, 12 Aug 2026 11:40:41 +0000</pubDate><guid>/posts/024-bolt-performance-engineering/</guid><description>The Bolt mindset codified: no heap escapes in hashing/encoding, deadline amortization cuts SetDeadline ~98%, allocation hotspots hunted by profile. Teaches: zero-escape patterns, measurement contracts, trade-off posture.</description></item><item><title>AWS Chunked Streaming: Signed Payloads Without Buffering</title><link>/posts/040-aws-chunked-streaming/</link><pubDate>Tue, 11 Aug 2026 04:52:58 +0000</pubDate><guid>/posts/040-aws-chunked-streaming/</guid><description>aws-chunked payload encoding streams large S3 uploads in signed chunks — no full-body buffering, per-chunk SigV4 integrity.</description></item></channel></rss>