Short article on std.parallism
    Jonathan M Davis 
    jmdavisProg at gmx.com
       
    Mon May 30 22:59:48 PDT 2011
    
    
  
On 2011-05-30 22:52, Andrej Mitrovic wrote:
> On 5/30/11, Vladimir Panteleev <vladimir at thecybershadow.net> wrote:
> > On Mon, 30 May 2011 04:18:14 +0300, Jeremy Wright
> > <jeremy at codestrokes.com>
> > 
> > wrote:
> >> I implemented bucket sort in D to demonstrate how easy it is to use
> >> std.parallelism.  I welcome any feedback.
> > 
> > One thing: I would suggest to avoid using ~= in a tight loop, as it is
> > rather slow. Using std.array.appender for the first loop and
> > std.array.join for the second one should be much faster.
> > 
> > --
> > Best regards,
> > 
> >   Vladimir                            mailto:vladimir at thecybershadow.net
> 
> I wonder why we even have this operator in the language if we're
> supposed to avoid it all the time.
There's no problem with using it, generally-speaking. And it's actually faster 
than it used to be, so it's less of an issue. The problem really only lines 
with a tight loop. Extra checks have to be made with ~= to verify that 
reallocation isn't needed which don't have to be made with Appender, because 
it's able to make assumptions that ~= can't make. So, if you're in a loop that 
appends over and over for a large number of iterations, it's going to be 
faster to use Appender. Other than that, ~= is plenty fast enough.
- Jonathan M Davis
    
    
More information about the Digitalmars-d-announce
mailing list