## Scale

2^{64} doesn’t sound much bigger than 2^{32}, does it?

2^{64} is 2^{32} × 2^{32}, but this relation is hard to put into perspective. Even saying that 2^{64} is more than four billion times as big as 2^{32} doesn’t adequately convey how much larger it really is.

Let me do that for you now.

I wrote a program that counts from 0 to 2^{32}. It takes about 11 seconds to run:

%./count-up2009-04-29 09:52:55.387 count-up[57932:10b] Time to count up to 4294967295: 11.313282

Now, as I said, 2^{64} is 2^{32} × 2^{32}, so the time to count to 2^{64} is likewise the time to count to 2^{32} (11.313282 seconds) multiplied by 2^{32}. That works out to:

- About 48,590,176,200 seconds
- About 13,497,271 hours
- About 562,386 days
- About 1540 years

Simply by doubling the exponent, we increase the time it would take my late-2006 four-core Mac Pro to count up to the number from 11 seconds to *a millenium and a half*.

April 29th, 2009 at 21:02:11

++ A very good way to make that size difference accessible. Reminds me of Grace Hopper’s “nanoseconds”.