Abdulaziz, The size of primary memory has kept growing but is actually reaching limits. And, anyway, it DOESN'T MATTER. You can make primary memory a TB and you'll *still* want to use compact encodings for Unicode characters.
You may ask why. Think of how memory works. It is a hierarchy and levels of the hierarchy are connected by various busses. The CPU has only so much storage for register values. You have multiple layers of caches, which again are of limited size. Beyond main memory you have tertiary storage and network connections. Space in the CPU and caches is limited. The busses that connect the layers have limited BANDWIDTH. Tertiary can be infinite for all practical purposes. Main can be ridiculously large. You will still care about compact string data if you care about performance. That fact isn't changing anytime soon. -t On Sun, 2009-09-20 at 11:30 -0500, Brian Mastenbrook wrote: > On Sep 20, 2009, at 11:24 AM, Abdulaziz Ghuloum wrote: > > > Unicode code points currently require 21 bits of storage > > if represented uniformly. That number is unlikely to > > increase beyond 32 bits in any foreseeable future. > > > > Storage (disk, ram, L_n cache, etc.) has been increasing > > exponentially on all computational devices (personal > > computers, PDAs, phones, ipods, et cetera). The desktop > > I purchased 14 years ago had 4MBs of RAM, and my current > > laptop has 4GBs: that's a 1000 fold increase. > > > > Now maybe in the distant past, I would've cringed if I > > even thought of using 4 bytes per character in a string. > > Today, I can use 4 bytes *and* at the same time hold > > hundreds of times more data in memory than I could back > > then. As memory increases, I would worry about the 4 > > bytes even less and less. As time passes, I find the > > arguments for "memory efficient" representations less > > appealing. > > > > Since the time R6RS was being discussed, available memory > > has more than doubled. By the time R7RS is finalized (if > > ever), memory would at least quadruple again. This is > > why I asked John about how many years he's been using the > > "space efficiency" argument; to me, that argument has been > > obsolete about 2 years after I've first heard it. > > I think it's mistaken to conclude that because RAM is growing, space > efficiency is unimportant - just as much as it's mistaken to say that > because CPU speeds are growing, native compilers are obsolete now. > Many people would rather use the available RAM to increase the amount > of data their program can process, not to waste it on space- > inefficient representations. > > -- > Brian Mastenbrook > [email protected] > http://brian.mastenbrook.net/ > > _______________________________________________ > r6rs-discuss mailing list > [email protected] > http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
