d future or plans for d3

Ruslan Mullakhmetov tiabaldu at gmail.com
Sun Dec 18 06:07:40 PST 2011


As far as I understand Erlang performance is reached by horizontal 
scheduling (i'm not sure i used exact word) by which i mean that if you 
have lack of performance you can buy new hardware nodes (servers) and 
without any changes in code and even recompiling you can distribute 
workload.

That is very good approach in situation when processor stopped getting 
faster but become more parallelized and cheaper.

GC is just a mater of implementation. In presence of resources 
implement good GC algorithm offers no difficulty.

> All languages have their place

sure. and many people doubt of place of D. It would be nice if such 
good lang will find it's place.

On 2011-12-18 12:19:43 +0000, Alex Rønne Petersen said:

> On 18-12-2011 12:45, Somedude wrote:
>> Le 18/12/2011 12:13, Ruslan Mullakhmetov a écrit :
>>> I do not want to make a flame over D vs C++11.
>>> 
>>> ...
>>> Once again, i'm not trying to make a holywar. I'm D lover myself. But a
>>> lot of people do not consider this benefits of D enough to shift to it
>>> as for my opinion and experience.
>>> 
>>> 
>> 
>> These people will not change their mind whatever you throw at them. For
>> them, it's a matter of religion, not a matter of comparison. We
>> shouldn't bother pleasing such or such group of people.
>> 
>> BTW, your comparison with Erlang misses one crucial point: performance.
>> A part for some very specific applications for which it is designed,
>> Erlang's general performance is simply not comparable to that of D. A
>> lot of D's complex set of features is geared towards increasing runtime
>> performance. Erlang just doesn't compare.
> 
> On the other hand, Erlang's runtime is built around message-passing. I 
> *extremely strongly doubt* that you can get similar performance out of 
> message-passing in D, for two reasons:
> 
> 1) The Erlang runtime is written in highly optimized C.
> 2) Erlang uses better garbage collection strategies than D.
> 
> On point 1: Of course, you can write a message-passing implementation 
> in D that's basically just glorified C, but that defeats the point of 
> using D in the first place IMHO.
> 
> On point 2: This is highly unlikely to change. It seems (from reading 
> the NG's past discussions) that there is virtually no interest from the 
> core devs of D to do The Right Thing to make precise garbage collection 
> possible, sadly (and neither to make thread-local GC possible, and 
> other such techniques (Erlang runs a separate GC per Erlang process, 
> very successfully)).
> 
> Yes, Erlang's emulator is not good in raw performance. It was never 
> geared for this (that's why it has easy interfacing with C for 
> performance-sensitive code). However, things like HiPE improve the 
> situation.
> 
> All languages have their place, and Erlang is still going strong in the 
> world of massive concurrency. I doubt D will be able to challenge this 
> until its GC issues have been resolved (and even then, D is nowhere 
> near as convenient, lacking fault tolerance and location transparency; 
> sometimes these traits are *much* more desirable than raw performance 
> when dealing with concurrency on such high levels).
> 
> - Alex


-- 
BR, Ruslan Mullakhmetov



More information about the Digitalmars-d mailing list