Subject: Re: Merriam-Webster's Collegiate Encyclopedia From: Erik Naggum <erik@naggum.net> Date: Sat, 03 Nov 2001 15:04:29 GMT Newsgroups: comp.lang.lisp Message-ID: <3213788666499342@naggum.net> * Lieven Marchand <mal@wyrd.be> | You parsed it correctly. Further in the paragraph, he goes on: "For | example, measurements showed that more than 80% of the time was spent in | the garbage collector despite the fact that resource management was part | of the simulated system so that no garbage was ever produced." | | I'm quite willing to believe GCs then weren't what they are now, but | there probably was a way to tell the system not to gc even then, and even | if there wasn't, adding it to the implementation would have been far more | efficient than designing and implementing a new language. Garbage collection has led people astray several times. It seems to be somewhat like taxation -- people who do not want to think things through tend to get ticked off by this cost that they do not accept, but if they do not see it, they accept it nonetheless, such as when the malloc/free implementation most C and C++ systems use does not measure the time it uses so nobody can really tell without profiling the whole application. Case in point: Emacs used to tell people that it was garbage collecting. A lot of people complained. So I removed the message and let users at the U of Oslo CS Dept use the modified Emacs. Several people thought that Emacs had become more responsive (*snicker*) and nobody complained about the gc pauses that were no longer announced. This change was accepted and available to the public from Emacs 19.31. (The variable garbage-collection-message controls the behavior. Set it non-nil to see how much you get annoyed by the gc messages.) Incidentally, the U of Oslo CS Dept taught Simula in its introductory CS classes. It was indeed a language that forced upon the implementation an amazingly high overhead. But regardless of the inherent overhead, the compiler implementation was not exactly very optimized and the runtime system was bloated, its I/O model was designed for batch processing with punched cards and line printers, and while it left most students with an understanding of the concepts of object-oriented programming (at least as it applied to simulation purposes), it was not a language anyone would want to use for real applications. From reading the specification (a nice little booklet), it appeared hard to remove the inherent overhead that the langauge required of any implementation, and this was not just the garbage collection issue. In general, it seems to be a very serious mistake to report the time spent in garbage collection or even report that you did collect garbage at all. Too many users will get ticked off by this useless information and draw the wrong conclusions. Bjarne Stroustrup is not the first to reach a seriously flawed conclusion from a personal grudge with garbage collection, and he is very unlikely to be the last. /// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.