Next Poker Copilot update loads your hands 50% faster

I’m astonished at how potential performance improvements can hide in software year after year. Today I discovered a small tweak to make Poker Copilot zoom through loading hands into your database. The improvement results in a sustained 50% increase in speed. Before the change, Poker Copilot would load about 200 hands/second. Now it is toils away at more than 300 hands/second.

In recent weeks I’ve been using an excellent developer tool called Java VisualVM to find the parts of Poker Copilot that hog the computer’s CPU, and use the most memory. Today I discovered that H2, the embedded open source database engine that Poker Copilot uses, was spending too much time analysing each SQL statement before performing it. A default performance setting was by default set too low. I set it to a much higher value, and it is like I discovered I’ve been driving up to now with the handbrake on.

(For the technically minded, and also for any H2 google searches: I increase QUERY_CACHE_SIZE to 100, instead of the default value of 8.)

The next update of Poker Copilot is due to be released this week, and will have this performance improvement, as well as some others I’ve been working on.