|
From: Sam S. <sd...@gn...> - 2005-06-06 18:03:03
|
> * Bruno Haible <oe...@py...> [2005-06-06 13:13:23 +0200]: > > Sam wrote: >> > It was not my goal to increase the memory size of every array (by >> > increasing its 'length' field from uintL to uintV). >> >> an extra 2 bytes is nothing compared to extra functionality. > > Please think about it again. > > IRIX died because it ate too much memory. The causal chain was this; > - IRIX ate too much memory => > - users observed slow and sluggish behaviour => > - users considered alternatives like Solaris => > - further developments were not worth the development cost, because the > user base was already too small. and what does adding 2 bytes to each vector have to do with this? Bytes permanently allocated: 66792 Bytes currently in use: 1774088 Bytes available until next GC: 121192 1774088 ; 121192 SIMPLE-STRING 11246 466372 41.470 SIMPLE-VECTOR 4638 245820 53.001 SIMPLE-8BIT-VECTOR 2936 222252 75.699 STRING 292 7016 24.027 SIMPLE-BIT-VECTOR 495 4784 9.665 VECTOR 95 2660 28.000 this will add (* 2 (+ 11246 4638 2936 292 495 95)) 39404 bytes - less than 40k to a 2M image - 2%. clisp is already very frugal on memory. 2 bytes per vector is a cheap price to pay for large arrays. >> (can you add a "large array" flag?) > Have you already needed an array with 4,000,000,000 elements? when I (or someone else) needs it, it will be too late to ask you to modify CLISP (especially given our release rate). when people need it, they need it _NOW_. -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.palestinefacts.org/> <http://www.openvotingconsortium.org/> <http://www.mideasttruth.com/> <http://www.iris.org.il> There are no answers, only cross references. |