Tags /

#Performance

3 posts

Cover for Beyond PGN: Designing an Ultra-Efficient Chess Storage Format
Programming 1956 words 10 min

Beyond PGN: Designing an Ultra-Efficient Chess Storage Format

Every chess database begins with the same question: how do we store a game? PGN is the default answer — human-readable, portable, and surprisingly wasteful. A walkthrough of moving toward binary coordinates and legal-move indexing, and the engineering trade-off between the smallest format and the fastest one.
Cover for How to Merge PGN Files in F#: Streaming, Performance, and Discriminated Unions
Programming 687 words 3 min

How to Merge PGN Files in F#: Streaming, Performance, and Discriminated Unions

How I built a CLI tool to merge chess PGN files using F#'s type system, streaming I/O, and functional patterns — merging gigabytes of games with 64 KB of memory.
Programming 1053 words 5 min

Why I Built ZaString

On zero allocations, Span<T>, and the pursuit of performance without sacrifice.