Performance

Here is a benchmark showcasing the performance of TexasHoldem:

import TexasHoldem as TH
using TexasHoldem
using BenchmarkTools
import Logging
import Random
Random.seed!(1234)

players() = ntuple(i->(Player(TH.FuzzBot(), i)), 4)

function do_work!()
    play!(Game(players(); gui = TH.NoGUI(), logger=TH.ByPassLogger()))
    return nothing
end

trial = @benchmark do_work!()
show(stdout, MIME("text/plain"), trial)
nothing
BenchmarkTools.Trial: 10000 samples with 1 evaluation per sample.
 Range (min … max):  11.341 μs …  3.079 ms  ┊ GC (min … max): 0.00% … 98.25%
 Time  (median):     13.134 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   14.057 μs ± 40.642 μs  ┊ GC (mean ± σ):  4.00% ±  1.39%

      ▃▅▇█▇▇▅▄▂
  ▂▂▄▇██████████▆▅▄▃▃▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▁▂▂▁▂▁▁▁▁▂▂▂▁▁▁▁▂▂▂▂▂▂ ▃
  11.3 μs         Histogram: frequency by time        23.4 μs <

 Memory estimate: 9.77 KiB, allocs estimate: 115.