[Python-Dev] One more dict trick (original) (raw)

M.-A. Lemburg mal@lemburg.com
Thu, 31 May 2001 11:23:52 +0200


"Eric S. Raymond" wrote:

M.-A. Lemburg <mal@lemburg.com>: > In any case, this will avoid us the trouble of having to check > those poly numbers every time Intel decides to bump the register > width by another factor of two ;-) This seems unlikely. 2^64 = 18446744073709551616, which is roughly 10 ^ 22. Let's assume a memory density, of, say 2^20 machine words or roughly 8 megabytes per cubic centimeter (much, much better than we'll be able to do for the forseeable future -- remember power distribution and heat dissipation).

Where did you get those numbers from ? There are memory sticks with 128 MB around and these measure about 2.5 cm^2 * 1 mm.

Then, approximating the cubic relation between a sphere's volume and area by lopping off a power of four, we see that 2^64 64-bit words of memory would occupy a sphere of roughly 2^(64 - 20 - 2) cm radius, or about 17 million kilometers.

This is roughly twice the diameter of the Sun. 64-bit computers aren't going to run out of address space any time soon. 64-bit clocks counting seconds will turn over in approximately six trillion years, long after the expansion of the Universe will have dropped its energy density low enough to make computation...well, let's just say "difficult" and leave it at that. Nobody needs 128 bits of integer or floating-point precision, either. There's basically no source of data to compute with that's got anywhere near 22 significant digits of accuracy -- 48 bits is about the most people in scientific computing ever use.

Just you wait... someday marketing people will probably invent the world memory facility and start assigning a few hundred Terabytes for everyone on this planet to use for his/her data storage -- store once, use everywhere ;-)

Let's assume we have 12e9 people on this planet by that time, then we'll need 12e9*100e12 = 1.2e24 bytes of central storage... or roughly 2^80 bytes per civilization.

Of course, they will want to run Python in order to manage that data and so will all those Palm uses hooking up to the facility... ;-)

-- Marc-Andre Lemburg CEO eGenix.com Software GmbH


Company & Consulting: http://www.egenix.com/ Python Software: http://www.lemburg.com/python/