Enhanced array appending

Steven Schveighoffer schveiguy at yahoo.com
Thu Dec 24 12:07:03 PST 2009


On Wed, 23 Dec 2009 09:54:20 -0500, grauzone <none at example.net> wrote:

> Andrei Alexandrescu wrote:
>> grauzone wrote:
>>> Steven Schveighoffer wrote:
>>>> All,
>>>>
>>>> I created a new patched druntime that prevents array stomping and at  
>>>> the same time increases append performance for thread-local array  
>>>> appending.
>>>>
>>>> The patch is attached to bugzilla entry 3637. (  
>>>> http://d.puremagic.com/issues/show_bug.cgi?id=3637 )
>>>
>>> Nobody cares about it? (Except someone commenting in bugzilla, but  
>>> where's Andrei and Walter?)
>>  The entire Phobos team discussed this change very thoroughly. We are  
>> all very excited about it.
>
> Did anyone try it and make initial tests?

I did (obviously).  I tried both a simple "append to N arrays in a loop"  
test and also the affinity test posted by dsimcha in an earlier post.  The  
new code beats the old runtime in both tests *and* performs better on the  
affinity test with multiple cores than it does with a single core.  Tests  
were done on linux.  I realize testing my own code doesn't mean much, but  
I think the patch is close to being assimilated, and everyone can try it  
out at that point.  I'd be very interested to see if others can find holes  
in the design.

I don't have the numbers in front of me right now, but next week, I'll try  
to post some.

AFAIK, only Sean tried to get it working, but had trouble.  I was mostly  
concerned with if the patch *worked* on Windows and OSX, since I didn't  
have a mac or a Windows box to try it out.  Since then, I've successfully  
built and tested both OSX and Windows.

-Steve



More information about the Digitalmars-d mailing list