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