GNU Emacs, memory usage, releasing

Peter da Silva peter at ficc.uu.net
Fri Jan 5 23:21:46 AEST 1990


There seems to be an assumption here that the only possible methods are
buffer gap and a linked list of lines. What about a linked list of larger
blocks? I've seen an editor somewhere that stores the file as a list of
fixed-size blocks, not necessarily full. When inserting it splits the
current block into two at the insert point. When the insert point moves
it considers coalescing blocks... 

I can't remember the editor involved, unfortunately, nor the algorithm for
coalescing blocks. It seems to me, anyway, that by choosing an appropriate
size you can get far better performance than either the buffer-gap and list-
of-lines method for a wide range of files.

And of course reading and writing files as nearly as easy as with the buffer-gap
technique. Given an appropriate system architecture, such as Mach, you could
even fault your blocks in from the file!
-- 
 _--_|\  Peter da Silva. +1 713 274 5180. <peter at ficc.uu.net>.
/      \ Also <peter at ficc.lonestar.org> or <peter at sugar.lonestar.org>
\_.--._/
      v  "Have you hugged your wolf today?" `-_-'



More information about the Comp.unix.wizards mailing list