delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/05/01/12:55:27

Date: Thu, 1 May 1997 19:40:20 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: George Foot <mert0407 AT sable DOT ox DOT ac DOT uk>
cc: djgpp AT delorie DOT com
Subject: Re: Extra Memory
In-Reply-To: <5ka6r1$508@news.ox.ac.uk>
Message-ID: <Pine.SUN.3.91.970501193145.4436A-100000@is>
MIME-Version: 1.0

On 1 May 1997, George Foot wrote:

> Oh right. Thanks. But it seems a shame to let all that good memory go to
> waste.

You will need it badly when you need to run nested programs, like 
recursive Make's, compilations from inside Emacs/RHIDE etc.  Each nested 
task needs some conventional RAM, mainly for the transfer buffer.  My 
configuration leaves about 620K free conventional memory, which lets me 
run about 6 nested programs with QDPMI (more than 20 with CWSDPMI) before 
I begin worrying.

Some programs use DOS memory for other things.  For example, Emacs moves 
data to and from the Windows clipboard (when it runs from Windows' DOS 
box) via low memory, because that is the only way DOS programs can access 
the clipboard.  If you cut/paste large portions of text, you need that 
much bytes of low memory, or it will fail.

> Why is the default transfer buffer only 16K?

See above.  There is a trade-off between faster I/O and nested programs.  
I/O will only get marginal improvement after 16KB, so bumping the TB up 
doesn't buy you any benefits, but you waste much more DOS memory and risk 
failures in spawning child programs early on.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019