ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/09/29/19:53:41

To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: debug32
Organization: Code Generation Technology, San Francisco, CA
Date: Tue, 29 Sep 92 16:28:55 -0700
From: "Thomas J. Merritt" <tjm AT netcom DOT com>

|<><><><><> Original message from dj AT athena DOT ctron DOT com  <><><><><>
|>1. Why does debug32 take such a long time to load a program?  With a
|>program size of 700-800K it takes many MINUTES to load which is
|>tiresome as it usually only takes a second from then to run hte
|>program, crash and say "where".
|
|Because it loads all the symbols at startup.  I don't like it either,
|but there isn't an easy way to fix it AND not run out of code space in
|debug32.

Actually the problem is only partially that all of the symbol get
read at startup.  The real problem is that symbols are kept in a
binary tree.  This is not such a problem except that symbols tend
to be in relatively sorted order and the tree degenerates to nearly
a linked list.  The symbol insertion time is O(n^2).  Keeping the
symbols in a hash table would reduce insertion time to O(n) and
make loading of large files bearable.

Converting debug32 from binary trees to hash tables would not be all that
difficult.  Unfortunately I haven't had the time to do this.  (Nor
the inclination since I'm still using djgpp 1.05 for various reasons)
If anyone would like to tackle this change I would certainly be willing
to help.

TJ Merritt
tjm AT netcom DOT com

- Raw text -


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