Some of the code optimizations include:
- Simultaneously inserting multiple shares into the database
- Aggregating balance changes of multiple shares into one update rather than updating miner balances after every share
- Offloading database processing code from the mining server's main thread
- Changing the way the mining server receives block templates from a pull method to a push method.
In an unrelated issue, the database experienced an issue this morning that caused all shares to be lost from 12:00AM to 10:36AM. The cause was that an ID column overflowed a 32-bit integer. Steve thought he had corrected all the columns the last time this happened (http://forums.prohashing.com/viewtopic.php?f=4&t=749) but he accidentally forgot one column. Since the mining server was still accepting shares for that time, I will be crediting users for those 10 1/2 hours at the same rate as their average of yesterday February 20. I will update this post once I have made the changes.
Thanks for continuing to mine with us.