Mail Archives: djgpp/1992/09/29/19:53:41
|<><><><><> 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 -