From C++14 and Java 1.8
dsimcha
dsimcha at yahoo.com
Sun Apr 21 07:46:45 PDT 2013
On Sunday, 21 April 2013 at 13:30:32 UTC, bearophile wrote:
> dsimcha:
>
>> I abandoned because I was disappointed at how poorly most of
>> it was scaling in practice, probably due to memory bandwidth.
>
> Then do you know why the Java version seems to be advantageous
> (with four cores)?
>
> Bye,
> bearophile
I don't know Java very well, but possiblities include:
1. Sorting using a virtual or otherwise non-inlined comparison
function. This makes the sorting require much more CPU time but
not a lot more memory bandwidth. It does beg the question,
though, of why the comparison function isn't inlined, especially
since modern JITs can sometimes inline virtual functions.
2. Different hardware than I tested on, maybe with better memory
bandwidth.
3. Expensive comparison functions. I didn't test this in D
either because I couldn't think of a good use case. I tested the
D parallel sort using small primitive types (ints and floats and
stuff).
More information about the Digitalmars-d
mailing list