Xref: utzoo comp.editors:1239 gnu.emacs:2094 comp.unix.wizards:20018 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!ficc!peter From: peter@ficc.uu.net (Peter da Silva) Newsgroups: comp.editors,gnu.emacs,comp.unix.wizards Subject: Re: GNU Emacs, memory usage, releasing Keywords: GNU emacs malloc memory working set gap editor Message-ID: Date: 5 Jan 90 12:21:46 GMT References: <1558@aber-cs.UUCP> <129799@sun.Eng.Sun.COM> <50359@bbn.COM> Reply-To: peter@ficc.uu.net (Peter da Silva) Organization: Xenix Support, FICC Lines: 15 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. . / \ Also or \_.--._/ v "Have you hugged your wolf today?" `-_-'