Guides

A real 6-max 100 bb benchmark: time, RAM and convergence

One run of the preflop engine on one laptop, numbers as measured. No external solver has solved this tree, so this is a cost and convergence report, not a correctness check (for those, see Preflop benchmarks). It shows what a full-size six-handed game costs on ordinary hardware and how much still moves after 100,000 samples.

The game and the tree

  • Six players, 100 bb, blinds 0.5/1, rake 5 % capped at 3 bb, no flop no drop.
  • Opens 2.5 bb (SB 3 bb or complete). 3-bets 7.5 bb in position, 11 bb from the SB, 12 bb from the BB; squeeze 10 bb in position, 13 bb from the blinds; 4-bets about 2.2× in position and 2.5× out of position; 5-bet all-in. At most one cold caller.
  • Postflop: flop 33 % and 75 % of the pot, turn and river 50 % and 100 % plus all-in on the river, one 3× raise, then all-in. 4-bet pots: flop 33 % or all-in, turn 50 % or all-in, river all-in. No donk bets and no probe bets.

The last point limits this run: with donk and probe both off, the caller of a preflop raise never bets first on the turn or river. The engine does not require it (probe is on by default).

Hardware and settings

Intel Core i5-1235U laptop (2 performance cores, 8 efficiency cores), 12 worker threads, 64 GB RAM, Windows 11, Strength small. Zero to 100,000 samples, then continued to 200,000.

What it cost

100,000 samples200,000 samples
Training time (wall clock)7 h 05 min12 h 29 min in total
Peak RAM18.3 GB20.9 GB
Information sets164 million190 million
Blueprint file6.2 GB7.1 GB
Preflop accuracy bound4.91 bb/100 (0.049 bb per hand)2.72 bb/100 (0.027 bb per hand)

The second 100,000 samples took 5 h 24 min.

How the accuracy bound fell

Samples5k10k20k40k60k80k100k120k140k160k180k200k
Bound, bb/10062.035.019.510.77.65.94.94.23.73.33.02.7

The bound is the engine's own regret bound: an estimate of how much a seat could still gain per hand dealt by changing its preflop decisions while everyone else keeps the blueprint. Postflop play, inside the hand abstraction, is not part of it. It is not an independently measured exploitability, nor a postflop solver's "% of the pot". It fell by a factor of about 0.55 each time the sample count doubled. At that pace 1 bb/100 would take about 650,000 samples and 0.3 bb/100 about 2.6 million: about one more day, and about a week.

First-in ranges of UTG, HJ, CO, BTN and SB from the 6-max 100 bb run, 200,000 samples
Five first-in ranges at 200,000 samples, averaged strategy, this run (6-max 100 bb, rake 5 % cap 3 bb, opens 2.5 bb, SB 3 bb, Strength small, no donk or probe bets). Red raise, green SB limp, blue fold.

What moved between 100,000 and 200,000 samples

First in, share of hands (%)UTG raiseHJ raiseCO raiseBTN raiseSB complete / raiseBB vs complete: raise
100,000 samples16.921.329.346.516.1 / 30.039.0
200,000 samples16.921.529.546.512.1 / 32.439.9
EV loss of the 100,000-sample mix, bb per hand dealt0.00000.00010.00010.00000.00060.0017

EV loss is what the 100,000-sample mix gives up per hand dealt against the best action, valued with the 200,000-sample EVs; folding is 0 (EV loss as a quality measure). From UTG to the button the first-in ranges were finished at 100,000 samples: at most 0.0001 bb per hand. Hands that still moved 15 points or more (at UTG: KTo 7 to 38 %, K6s 44 to 18 %, T9s 64 to 29 %, 66 84 to 62 %) have their two best actions within 0.005 bb: mixes, not mistakes. The flattest spots are the small blind's complete (16.1 to 12.1 %) and the big blind's answer, with up to 0.01 bb (SB) and 0.03 bb (BB) between the two best actions of the hands that moved. All five seats, both checkpoints: benchmarks page.

UTG first-in averaged range, 6-max 100 bb with 5% rake cap 3 bb, 100k samples
UTG first-in, 100,000 samples, averaged strategy, this run (6-max 100 bb, rake 5 % cap 3 bb, open 2.5 bb): raise 16.9 %.
UTG first-in averaged range, 6-max 100 bb with 5% rake cap 3 bb, 200k samples
UTG first-in, 200,000 samples, same run and settings: still 16.9 %; the edge hands (K6s, K5s, KTo, T9s, 66) redistribute.

K5s vs K6s: what still moves, and why it costs little

UTG opening K6s and K5s at each checkpoint; EV of the open in bb at the decision, folding 0.

SamplesK6s openK5s openK6s EVK5s EV
60,00042.3 %28.3 %−0.002+0.001
80,00043.9 %37.3 %+0.001+0.002
100,00044.4 %44.5 %−0.002−0.000
120,00045.0 %47.0 %−0.000−0.000
140,00040.4 %39.0 %+0.000+0.000
160,00034.5 %36.6 %−0.001−0.000
180,00024.2 %37.5 %−0.001+0.000
200,00018.2 %41.8 %−0.001+0.001

K6s moves by more than twenty points while both EVs stay within 0.002 bb of folding and 0.003 bb of each other. Both sit on the edge of the range, and opening or folding either at any checkpoint loses under 0.002 bb per hand. Edge frequencies settle last and cost least: judge a checkpoint by the EV loss of its decisions, not by whether the edge still moves.

What to expect on your own hardware

  • Threads: more cores finish sooner; the result does not depend on the thread count. On battery a laptop can be throttled; check the power plan (a note on laptops).
  • RAM is the ceiling. A run checkpoints and stops at 85 % of physical RAM. At 20.9 GB peak, 16 GB cannot hold this tree (85 % is about 13.6 GB), 32 GB holds it with about 6 GB to spare, 64 GB leaves room for a higher Strength, a second cold caller or more bet sizes.
  • Disk: a 7.1 GB blueprint plus two checkpoints of several GB, per run (Checkpoints & long runs).
  • How long: UTG to button were done at 100,000 samples; the blinds' flat spots kept moving without gaining value, so set the accuracy stop by the ranges you care about.

What this run is not

Not a universal GTO model of 6-max 100 bb poker: the ranges solve this tree (these sizes, one cold caller, this rake, no donk or probe bets) under a small hand abstraction, and the bound measures convergence inside that abstraction. Re-solve a postflop node per combo with Recalculate Node; limits in Accuracy & limitations; for your own game, Custom game trees and the preflop engine.