Re: [rust-dev] Is necessary the manual memory management?

2012-10-29 Thread Matthieu Monrocq
On Sun, Oct 28, 2012 at 8:48 PM, Niko Matsakis n...@alum.mit.edu wrote: Regardless of whether manual memory management is desirable as an end goal, support for it is essentially required if you wish to permit tasks to exchange ownership of data without copies. For example, in Servo we have a

Re: [rust-dev] Is necessary the manual memory management?

2012-10-29 Thread Lindsey Kuper
On Sun, Oct 28, 2012 at 3:48 PM, Niko Matsakis n...@alum.mit.edu wrote: Regardless of whether manual memory management is desirable as an end goal, support for it is essentially required if you wish to permit tasks to exchange ownership of data without copies. Is it fair to say that, in fact,

Re: [rust-dev] Is necessary the manual memory management?

2012-10-29 Thread Niko Matsakis
Lindsey Kuper wrote: Is it fair to say that, in fact, you don't need to do manual memory management in Rust*unless* you care about efficiently exchanging data between tasks? Almost. pcwalton has been talking about implementing a simple data-exchange wrapper based around serialization and

Re: [rust-dev] Is necessary the manual memory management?

2012-10-28 Thread Patrick Walton
On 10/28/12 4:55 AM, John Mija wrote: Does make sense to have a language with manual memory management since it's possible to create stuff of low level with a specialized garbage collector? It's good to create drivers, but it's already C. Oberon was quite experimental. The Azul C4 collector

Re: [rust-dev] Is necessary the manual memory management?

2012-10-28 Thread Patrick Walton
On 10/28/12 9:03 AM, Bennie Kloosteman wrote: AFAIK Azul is propitiatory and is not fast it makes a huge number of small memory allocations and they make changes on linux to make i this work rather than on specialized HW .. What is special though is the lack of long GC pauses. That said GCs

Re: [rust-dev] Is necessary the manual memory management?

2012-10-28 Thread Niko Matsakis
Regardless of whether manual memory management is desirable as an end goal, support for it is essentially required if you wish to permit tasks to exchange ownership of data without copies. For example, in Servo we have a double-buffered system where mutable memory buffers are exchanged between