Always. The major problem with the MS-BASIC garbage
collection was
with the user experience. Gates chose rapid allocation through a
top-of-heap pointer rather using a heap walker. While there was
enough space for allocations, allocations were fast, but reallocation
was impossible except at the top of the heap. Once garbage collection
starts it must proceed to completion. The user experience, with
sufficiently large memory, was of the computer hanging. Most users
would power cycle rather than wait.
But this wasn't true of all Microsoft BASIC derivatives. Notably the
Commodore 128 had a tremendously optimized garbage collector, allowing
collection within seconds even at 1MHz, and even being the slowest of the
Commodore 8-bit BASICs. It was night and day compared to the C64.
--
------------------------------------ personal:
http://www.cameronkaiser.com/ --
Cameron Kaiser * Floodgap Systems *
www.floodgap.com * ckaiser at
floodgap.com
-- There are few problems that the liberal usage of high explosives can't cure.