Removing elements from dynamic arrays?
Chris Nicholson-Sauls
ibisbasenji at gmail.com
Fri Nov 3 19:02:39 PST 2006
Sean Kelly wrote:
> Chris Nicholson-Sauls wrote:
>
>>
>> Anyhow, clearly your .drop() is running very fast! I actually
>> expected the opposite, and am surprised/impressed.
>>
>> Maybe you should release it into Cashew? ;) And maybe I should put
>> more into benchmarking the entire Cashew array module. There might be
>> a few more placed it could be sped up.
>
>
> I'd be interested in seeing a test using C's memmove as well. Though
> I'm not surprised drop beats the slice version, since that will allocate
> a new array for the data.
>
>
> Sean
Well, I just benchmarked the memmove() based approach, and it is indeed notably faster
still. Here's a typical sample from the results:
<Benchmark traverse vs memmove> Baseline 3.130000
<Benchmark traverse vs memmove> Time 1.760000 & 1.778409 versus baseline
(Where the baseline was the current .drop() and the contender was a .drop() using
memmove().) So, indeed, I am migrating Cashew to use memmove(). I may also modify
.dropIf() to use it as well.
-- Chris Nicholson-Sauls
More information about the Digitalmars-d-learn
mailing list