Hacker News new | ask | show | jobs
by fh973 3162 days ago
Do multi-threaded workloads, which a lot of high performance workloads are, Java has also the potential to be faster than C++ due to garbage collection and threading aware optimizations it can make. Memory allocation, especially when memory lifecycle spans threads can be expensive in C++.

"A JVM does that???" by Cliff Click is a good introduction on what can go in the background.

1 comments

so write a specialized GC for the task in C or C++.

C++ can always win!

JVM has hotspot? use profile guided optmization in C!

There is no escape!

If you are one of the three people in the world that can do it. ;-)
Just use an arena allocator (or similar) where appropriate. It's not difficult and it's how C, C++ and Rust win all micro benchmarks that involve memory allocation: http://benchmarksgame.alioth.debian.org/u64q/binarytrees.htm...