Re:Go GC: Prioritizing low latency and simplicity
by mehrdada on Monday August 31, 2015 @10:26PM
(#10150350)
I think the question is easier to answer if we view "garbage collection" as automatic memory management in general, rather than a more specific case of automatic memory management via a runtime task colloquially known as the garbage collector. I believe automatic memory management is a universally desirable property whether you are running on a server or a small device. However, since you brought up Rust, I also think it is valid to debate the value of a runtime GC as opposed to another automatic memory management technique like automatic reference counting. I don't think that question is embedded-specific though: it applies just as much to the server environment.
Re:Go GC: Prioritizing low latency and simplicity
by pcwalton on Monday August 31, 2015 @10:27PM
(#10150354)
How is tracing GC vs. pervasive reference counting relevant to Rust?
Re:Go GC: Prioritizing low latency and simplicity
by mehrdada on Monday August 31, 2015 @10:33PM
(#10150373)
I merely used automatic reference counting as one alternative automatic memory management technique. Rust, as I understand it, uses a similar alternative, which is, at least on paper, similar to enforcing a max refcount of one on pointers, statically. I'm far from a Rust expert so feel free to correct me if I'm wrong.
Re:Go GC: Prioritizing low latency and simplicity
by kibwen on Monday August 31, 2015 @10:53PM
(#10150448)
I'd say that "reference counting" implies a dynamic/runtime component, which is not how Rust manages memory (unless you're specifically using the `Rc` pointer in the stdlib).
I think it's important to be clear here because Swift and Objective-C rely on a technology known as "Automatic Reference Counting" (ARC), which does imply the usual dynamic cost of reference counting.
I ask because I don't have much low-level/embedded experience, and I'm unaware of why you'd want a gc on such low power systems. If there's a use case though, I'd love to learn about it!