Big speed-up for Poker Copilot HUD

With the help of loyal but frustrated Poker Copilot customer Artem, I’ve been able to tune up Poker Copilot’s HUD to make it faster and more responsive for people with extremely large databases. The next update will have these improvements.

A brief overview of the improvements:

Imagine you’ve got 500,000 hands of 6-max PokerStars No Limit Hold’em tournament hands in your database. For each hand, Poker Copilot records roughly 60 statistic data points. When you are playing, and the HUD is showing, your own HUD stats are calculated by aggregating 500,000 hands times 60 data points = 30 million data points. That’s a lot of data to recalculate after each hand on each table. The database that Poker Copilot stores this data in is optimised to handle such cases quickly, using database indexes and pre-rolled-up summary tables.

A new database index

Except, that Poker Copilot has stopped using the optimisations, if you had “HUD stat weighting” turned on. Somewhere over the development of Poker Copilot 5, as we changed things around to facilitate the addition of HUD statistic weighting, the database index setup stopped helping for tournament live play. So Poker Copilot was doing more work than necessary to calculate your own statistics. (HUD statistic weighting is a Poker Copilot 5 feature where more recent hands count more towards calculating statistics than older hands do.) We added a new database index designed for optimising fetching the right hands for calculating tournament HUD stats.

HUD stat weighting for opponents only

But there was another improvement waiting for us: the idea of HUD statistic weighting is not so useful for your own stats. And yet HUD statistic weighting was part of the performance problems. It is intended to make sure your opponents’ stats are more weighted by recent hands. Your opponents’ stats are what you typically use for making decisions on the poker tables. Your own stats are not used so much at the tables during live play for decision making. So we’ve turned off HUD statistic weighting for your own stats. It now only affects opponent stats. You will typically only have a fraction of data for any specific opponent, so it is much quicker to weight newer statistics for opponents than it is to weight your own statistics.

Don’t calculate what you don’t need

Poker Copilot was calculating hero stats even if hero HUD stats were set to “Don’t show”. That was rather pointless. The quickest database query is the one that isn’t performed. So we’ve made Poker Copilot be smarter in choosing what data it fetches during live play.

Hopefully these three changes will make Poker Copilot quicker for you when using the HUD with a massive database.