On 03/03/2012 10:34 AM, tav wrote:
My language of choice for systems development in recent times has been
Go. However, whilst it has excellent networking support, Go's
stop-the-world garbage collector gets in the way of the needs of an
in-memory datastore.

I understand that Rust would be give me better control over the memory
use and layout without interruption by a garbage collector. Is this
the case? Sorry, I've only managed to find
http://doc.rust-lang.org/doc/rust.html#memory-and-concurrency-models
as far as documentation. Is there a page on the wiki I should be
reading?

Your tasks can still get interrupted by a garbage collector (right now, a cycle collector), but it's never a *concurrent* garbage collector. Other tasks can still run while one task is collecting garbage. This was one of the most important design goals of Rust.

I would definitely like to make the GC incremental in the future. This is nontrivial (mostly because of LLVM's poor support for GC at the moment), but it's a whole lot easier than writing an incremental concurrent garbage collector.

Patrick
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to