I relied on a snippet of code I wrote to do that.
Slept many times like a baby while it ran. And once it grinded through all of history it's easy to keep up. Needed the list of all addresses owning bitcoin for a bloom filter because brainwallets.
Verifying supply was a side effect to be honest