Why am I wrong about GC?

Object lifetime is decoupled from lexical scope in Julia. E.g., the last reference to an object might be buried in a linked list. Hence the need for garbage collection to walk the object graph.

Concurrent garbage collectors are well known. e.g. Dijkstra’s tri-color collection algorithm dates back to 1978. But the algorithm may actually slow down overall execution speed as noted here.

The Go language has a state of the art concurrent collector, albeit Go rewrote the world – they have their own calling convention, compiler, linker). To learn more about concurrent garbage collection in a production language, this keynote talk is work reading: Getting to Go: The Journey of Go's Garbage Collector - The Go Programming Language

15 Likes