From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Haertel Message-Id: <200301262125.h0QLPtmM097255@ducky.net> To: 9fans@cse.psu.edu Subject: Re: [9fans] seek() in fossil? In-Reply-To: <56bdfd682af03e2cf62bd4473efc7599@mightycheese.com> Date: Sun, 26 Jan 2003 13:25:55 -0800 Topicbox-Message-UUID: 47dc6674-eacb-11e9-9e20-41e7f4b1d025 >This reminds me of the IPv6 fools, who seemed to think that >if 2^48 wasn't quite enough, they should go for 2^64 but just >to be sure, double it to 2^128. You might argue that 2^128 is insanely wasteful, but it's also awfully convenient. It allows all sorts of sparse allocation schemes for large blocks of addresses, without fear that you're using up too much of the address space. At 2^64, some Actual Thought might be required in doling out large chunks of the address space. At 2^128 there is definitely no Actual Thought required: you just waste address space however happens to be most convenient. Consider this: at 2^64, we couldn't even afford to give each person their own 2^32 block, since there are already more than 2^32 humans. While a 2^32 block per person might seem incredibly wasteful, it's not a huge stretch to imagine technologies that might want such a thing happening within say the next 30 years (device density is still increasing exponentially). I can't imagine what such technologies might be, but I am sure not going to go on the record as saying "nope, that's ridiculous, will never happen." As a programmer, you must have experienced the analagous situation: often you can make a tradeoff between simple code and larger data size, or more complex code and smaller data size. Now that memory is cheap, the former choice is almost always preferable. You end up "wasting" memory, but you save a lot in terms of coding and debugging effort. Saving actual thought in global network address allocation is a similarly worthy tradeoff.