Matchmaking queues need three things from their core data structure: range-count queries as the skill window widens, global rank lookups for leaderboards, and constant add/remove updates. The usual default is a skip-list-backed sorted set, the kind Redis ships and OpenMatch used, but benchmarked on the same host, it runs about 35x slower on rank queries and 38x slower on range counts than a Fenwick tree, and uses roughly 3x the memory. The cause is cache locality: a Fenwick tree is a single ~40 KB array that stays L2-resident, while a skip list chases pointers across scattered heap nodes. When MMR is bounded and quantizes naturally, a Fenwick tree with per-bucket player lists is the better default, and the article includes the Go code, reproducible numbers, and the cases where a skip list still wins.
Podden och tillhörande omslagsbild på den här sidan tillhör
HackerNoon. Innehållet i podden är skapat av HackerNoon och inte av,
eller tillsammans med, Poddtoppen.