Name: Anonymous 2014-05-29 6:36
...everyone in /anus/ seem to hate GC?
In what language? And how do I use libs which use GC? With pain, that's how.Most GCs have weak weak references. I know SBCL, CLR and JVM provide them.
But the overhead of GC will not go anywhere, which means less things can be held in memory at the same time. Read the paragraph on garbage collection here:malloc produces a lot more overhead.
By not avoiding circular references, I make way for lots of more algorithms and data structures.If you really need circular references, you can simulate pointers using integers: create an array of objects, and instead of referencing them, keep indices to this array. No setting some index to NIL would efficiently GC the object.
But for real, bad-ass systems programming?a sane person would not use anything other than C or assembly in systems programming
Copying collectors can also offer better worst-case space bounds than nonmoving collectors, particularly if real-time constraints are present. Thus they may be appropriate for certain embedded real-time applications.However, he also says:
There is growing evidence that copying collectors are a poor choice for old objects in a typical desktop application. They often result in unnecessarily large memory footprints, and paging where none is really necessary. The net effect can be disastrous performance.http://www.hboehm.info/gc/complexity.html (1995)
a sane person would not use anything other than C or assembly in systems programmingAnd that's why the NSA is rooting everyone's anii.