Path: utzoo!attcan!uunet!know!zaphod.mps.ohio-state.edu!julius.cs.uiuc.edu!psuvax1!rutgers!cbmvax!andy From: andy@cbmvax.commodore.com (Andy Finkel) Newsgroups: comp.sys.amiga.tech Subject: Re: Files larger than available memory. Message-ID: <14669@cbmvax.commodore.com> Date: 26 Sep 90 16:52:06 GMT References: <924@ucsvc.ucs.unimelb.edu.au> <1990Sep23.174736.16118@lavaca.uh.edu> <83986@tut.cis.ohio-state.edu> <14646@cbmvax.commodore.com> Reply-To: andy@cbmvax.commodore.com (Andy Finkel) Organization: Commodore, West Chester, PA Lines: 49 In article mwm@raven.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >I've just started poking at this, because one of the changes to mg3 >before the release is going to be ditching the linked list of lines in >favor of a buffer gap editor. Making the editor page to disk after >this is done would be simple, but it's not clear even that's worth the >trouble. >With memory mapping of some kind, doing everything in memory requires >a contiguous chunk of memory as big as the file. This is clearly >unacceptable on the Amiga, especially for an editor like mg. The >solution is a "paged" buffer, where the file buffer is a linked list >of pages, each of a fixed size (or each with a gap...hmmmm). > >The obvious "tmp" place is ram, which doesn't buy anything. Likewise, >paging to floppy doesn't buy much. I tend to agree with Dave - with a >1 meg nominal minimum machine, and those with hard disks probably >having more, there's not much reason to want to page to disk, and the >space/time spent on that code can probably be put to better use. > >Anyone have any comments? Just a couple: Most gap editors I'm familiar with have two places where the user experiences speed hits 1) when the editor is spooling text off to disk and 2) when the gap is being shifted in a large file Most of the implementations I've seen don't spend enough time hiding these slow downs from the user, so they'd end up editing files no larger than 32K, for instance, because otherwise the pauses as they scrolled and edited drove them crazy. And, the logical place to use as a temporary directory is :t if one doesn't exist, create it. Edit, which can edit files larger than memory available uses a temp file is :t for this purpose. > >