Optimization ???

Mattdef mattdef at gmail.com
Fri Feb 21 07:36:49 PST 2014


On Friday, 21 February 2014 at 13:39:08 UTC, Orvid King wrote:
> The single biggest reason that this is slower in D than in C# is
> because of the GC. By default with MS.Net, and Mono (when 
> compiled
> with sgen) an allocation is almost literally just a 
> bump-the-pointer,
> with an occasional scan (no compaction for this code) and 
> collection
> of the 64kb (on MS.Net it actually the size of your CPU's L1 
> cache)
> gen0 heap. This particular code is unlikely to trigger a 
> collection of
> gen1 (L2 cache when on MS.Net), gen2 or the large object heap. 
> In D
> however, the allocations are significantly more expensive.
>
> On 2/21/14, John Colvin <john.loughran.colvin at gmail.com> wrote:
>> On Friday, 21 February 2014 at 09:29:42 UTC, Mattdef wrote:
>>> Thanks for yours replies.
>>>
>>> I know it is the conversion of uint that is the problem but my
>>> C#
>>> code has the same conversion. So C# is better than D for 
>>> string
>>> conversions ?
>>>
>>> (sorry for my english)
>>
>> It's quite possible that C# has faster string conversion in at
>> least some cases.
>>
>> In particular, making lots of small strings is very garbage 
>> heavy
>> and the D garbage collector isn't as sophisticated as the one 
>> in
>> C#

Thanks for yours answers !


More information about the Digitalmars-d-learn mailing list