Simulation of real shuffles is much more difficult than just randomizing the shoe using a robust Pseudo-RNG (no LCGs!!!) for two main reasons:
a) It is computationally much more expensive to simulate "riffling", "plugging", "cutting", "stripping" because it involves inserting and deleting into an indexed sequence container (more details below)
b) It is crucial to simulate shuffling errors such as imprecise slug grabs by the dealer, cards dropped on a riffle, imprecise plugging location in the shoe, because errors can have a significant impact on player's edge (i was always disturbed with the precision of certain advanced technique sims)
The results will depend on the complexity of the shuffle, which includes the number of steps involved in the shuffle. So for instance for a 6D shoe, having 2 giant 156 card grabs riffled will be faster than making 39 deck grabs riffle and restack. For this example, the shuffle was as single pass shuffle: split 6D shoe into 2, 39 card grabs riffled, restacked, followed by cut. Speed results on AMD Ryzen 5950X (sorry Intel, our love-hate relationship has come to an end):
100,000,000 real shuffles --> 1024 seconds
100,000,000 random shuffles --> 28 seconds
Bookmarks