Moving to D

Nick Sabalausky a at a.a
Wed Jan 5 22:30:59 PST 2011


"Long Chang" <changedalone at gmail.com> wrote in message 
news:mailman.445.1294291595.4748.digitalmars-d at puremagic.com...
> 2011/1/6 Walter Bright <newshound2 at digitalmars.com>
>
>> bearophile wrote:
>>
>>> Adrian Mercieca:
>>>
>>>  How does D square up, performance-wise, to C and C++ ? Has anyone got 
>>> any
>>>> benchmark figures?
>>>>
>>>
>>> DMD has an old back-end, it doesn't use SSE (or AVX) registers yet (64 
>>> bit
>>> version will use 8 or more SSE registers), and sometimes it's slower for
>>> integer programs too.
>>>
>>
>> The benchmarks you posted where it was supposedly slower in integer math
>> turned out to be mistaken.
>>
>>
>>  I've seen DMD programs slow down if you nest two
>>> foreach inside each other. There is a collection of different slow
>>> microbenchmarks.
>>>
>>> But LDC1 is able to run D1 code that looks like C about equally fast as 
>>> C
>>> or
>>> sometimes a bit faster.
>>>
>>> DMD2 uses thread local memory on default that in theory slows code down 
>>> a
>>> bit
>>> if you use global data, but I have never seen a benchmark that shows 
>>> this
>>> slowdown clearly (an there is __gshared too, but sometimes it seems a
>>> placebo).
>>>
>>> If you use higher level constructs your program will often go slower.
>>>
>>
>> Rubbish. The higher level constructs are "lowered" into the equivalent 
>> low
>> level constructs.
>>
>>
>>
>>  Often one of the most important things for speed is memory management, D
>>> encourages to heap allocate a lot (class instances are usually on the
>>> heap),
>>> and this is very bad for performance,
>>>
>>
>> That is not necessarily true. Using the gc can often result in higher
>> performance than explicit allocation, for various subtle reasons. And 
>> saying
>> it is "very bad" is just wrong.
>>
>>
>>
>>  also because the built-in GC doesn't
>>> have an Eden generation managed as a stack. So if you want more
>>> performance
>>> you must program like in Pascal/Ada, stack-allocating a lot, or using
>>> memory
>>> pools, etc. It's a lot a matter of self-discipline while you program.
>>>
>>
>> This is quite wrong.
>>
>
> I using D for 3 years . I am not in newsgroup because my English is very
> pool .
> D is excellent , I try it with Libevent,  Libev,  pcre, sqlite,  c-ares,
> dwt, and a lot other amazing Lib. It work great with C-lib .   I enjoy it 
> so
> much .
> My work is a web developer, I also try use D in web field ,  It not result
> well .
>
> Adam D. Ruppe post some interesting cod in here , And I find a lot people
> try in web field. for example: (mango, https://github.com/temiy/daedalus,
> Sendero  ... )   , But in the end I had to say, most D project is dying .
>
> D like a beautiful girl friends,  You play with her can have a lot of fun.
> But she is be scared to make promisee ,   you can't count your life on it.
> she is not a good potential marriage .  her life is still in mess, and day
> after day she is more smart but not become more mature.    so if you want 
> do
> some serious work ,  You'd better choose another language.  if you just 
> wan
> fun , D is a good  companion .
>

I'd say D is more like an above-average teen. Sure, they're young and 
naturally may still fuck up now and then, but they're operating on a strong 
foundation and just need a little more training.




More information about the Digitalmars-d mailing list