test-tlb is a tiny C microbenchmark that explores the performance characteristics of memory access patterns with respect to the CPU’s Translation Lookaside Buffer (TLB) and caches. It walks arrays using different strides and working-set sizes so you can observe when access patterns overflow cache or TLB capacity. By timing tight loops and varying parameters, the program reveals step-changes in latency that map to cache lines, page sizes, and TLB coverage. It is intentionally minimal so you can modify page sizes, strides, or pointer-chasing strategies to run experiments on different machines and kernels. The code is useful for teaching, hardware bring-up, or validating assumptions about huge pages and NUMA placement. Rather than providing a plotting framework, it prints timings that you can collect and graph with external tools to visualize cache/TLB boundaries.
Features
- Simple C benchmark to probe cache and TLB behavior
- Adjustable stride and working-set sizes to trigger different miss patterns
- Tight timing loops to expose latency inflection points
- Easy to tweak for huge pages, NUMA nodes, or alternative access patterns
- Console output suitable for piping into plotting tools
- Small codebase that’s straightforward to read and modify