D vs. C#

Bruce Adams tortoise_74 at yeah.who.co.uk
Thu Oct 25 00:37:31 PDT 2007


bearophile Wrote:

> I like D better. But C# has some advantages too, two things I have personally seen (beside the IDE, the STD lib, the more widespread usage, the standard GUI toolkit, etc):
> 
> - Using strings as keys the unordered Associative Arrays of C# (on dotnet 3.0) are up to many times faster than D AAs, expecially when the memory used by the AA becomes large (like 50 MB).
> - C# VM is able to parallelize code by itself, so if you have two CPU cores even small proggies with loops can end being quite faster (up to almost two times faster, in some tests I have done), and you don't need to change your sourcecode to do that (in C++ you can use OpenMP but you have to modify the code and you have to be careful, to avoid breaking your code in many interesting ways).
> - The VM allows you to use different languages, like IronPython, F#, etc, sometimes you can even mix them to write your languages.
> 
> (Note: the shootout used Mono, not dotnet, that is probably much faster).
> 
> Bye,
> bearophile

Can you post a link? As far as I can see from my random googling M$ have a library based solution. The VM is doing nothing special. Take
for example:

http://msdn.microsoft.com/msdnmag/issues/07/10/Futures/default.aspx

Basically they seem have a few of useful primatives (at the library level) like parallel.for and "delegate" which is more akin to unix fork() but at the thread level than to D delegates. Another useful abstraction is a scheduler though this "dispatcher" seems limited to use in UIs. Another couple of useful abstractions are futures and replicatible classes.

Regards,

Bruce.



More information about the Digitalmars-d mailing list