I agree. This is a silly battle.

And it also demonstrates the dearth of benchmarking skill out there. I
could nitpick a lot of things in this SO entry, but for the purpose of the
OP's question I'll just leave you with this:

There ain't a whole lot of bubble sorting in financial applications - at
least not at any trading firms where *I've* worked. At the very least, you
wanna make sure the workload you're observing is representative of what you
expect to use in reality before basing any decisions on it.

I could go on but this benchmark is so poorly conceived & the Java vs. C++
debate so well-worn that I'll just leave it at that.

On Sun, Jun 26, 2022, 4:31 PM Kirk Pepperdine <[email protected]> wrote:

> Silly battle… in years past I’ve hand rolled assembler for bits of hot
> code paths in C apps after profiling to see if it was necessary…
>
>
> —- Kirk
>
> On Sun, Jun 26, 2022 at 00:15 Roger Bergerin <[email protected]>
> wrote:
>
>> Hello,
>>
>> I've come across this SO post:
>> https://stackoverflow.com/questions/72744401/why-java-turns-out-to-be-faster-than-c-in-this-simple-bubblesort-benchmark-exa
>>
>> The OP coded two versions of a BubbleSort application and was able to
>> show that C++ is consistently slower than Java. Some of the arguments in
>> favor of C++ was that:
>>
>> *"C++ is not always faster than Java but it can always be made faster
>> than Java"*
>>
>> Considering a zero-gc Java application properly warmed up I think that
>> this argument is flawed or at least very unrealistic for a real-life
>> application development project. The OP went ahead to say:
>>
>> *I've tried clang++ and g++ with a variety of optimization options (-O2,
>> -O3, -Os, -march=native, etc) and they all have produced slower results
>> than Java. I think at this point to make C++ faster I have to dive into the
>> generated assembly code and do some assembly programming. I'm wondering how
>> practical is this approach (assembly programming and assembly debugging)
>> when coding a large real-life application.*
>>
>> I must agree with the OP when he/she says that assembly programming is
>> not practical and debugging assembly code generated by the C++ compiler is
>> a pain in the butt. I can only imagine the time-to-market of a financial
>> application developed that way.
>>
>> My observations have found that C++ is often slower than Java, as his/her
>> simple BubbleSort benchmark demonstrates. It turns out that the HotSpot is
>> able to do a fantastic job generating ultra-optimized assembly code with
>> real-time application profiling information.
>>
>> Another point worth mentioning is that ahead-of-time compilation is very
>> often much slower than just-in-time compilation. I've recently used the
>> GraalVM to compile my entire Java application ahead-of-time to native code.
>> When I've benchmarked my native Java application it was consistently much
>> slower than my HotSpot one.
>>
>> Anyway, I was wondering your opinion about C++ vs Java when it comes to
>> performance for finance applications.
>>
>> Cheers,
>>
>> -RB
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "mechanical-sympathy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web, visit
>> https://groups.google.com/d/msgid/mechanical-sympathy/fbdd6869-66f9-455a-90ab-dd3838aec694n%40googlegroups.com
>> <https://groups.google.com/d/msgid/mechanical-sympathy/fbdd6869-66f9-455a-90ab-dd3838aec694n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "mechanical-sympathy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/mechanical-sympathy/CAD5RQ-BOGD3sX394yqCKm1fsqrwRohV5DWx6KfCRhgtE%3DAHjyQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/mechanical-sympathy/CAD5RQ-BOGD3sX394yqCKm1fsqrwRohV5DWx6KfCRhgtE%3DAHjyQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/mechanical-sympathy/CAFvqqVeSyvi45-MPoOXOPY3H3OQ9hRC8ryae42%3DX44uHkB_ZpQ%40mail.gmail.com.

Reply via email to