Hacker News new | ask | show | jobs
by 5e92cb50239222b 1416 days ago
Java is heavily used in high-frequency trading. I believe it's the most popular language after C++.
2 comments

Indeed. Shutoff Garbage collection completely and it can work. (And make sure your Java code creates no garbage - which is a new type of programming in and of itself)
Maybe I’m taking your comment wrong, why is this a bad thing? What other GC’d language just lets you turn it off?
I don't think their comment is intended to be negative really -- looks more like appreciative of the option, while cognizant of the fact that using it introduces a new challenge.
It's not about turning it off. You just don't allocate on the hot path.
> This is because Zing uses a unique collector called C4 (Continuously Concurrent Compacting Collector) that allows pauseless garbage collection regardless of the Java heap size.

This is incorrect. Firstly, C4 triggers two types of safepoints: thread-local, and jvm-wide. The latter can easily go into the region of ~200 micros for heaps of ~32GB even when running on fast, overclocked servers. Secondly, the design of C4 incurs performance penalty for accessing objects due to memory barriers. This impacts median latency noticeably.

You might not believe me, but ask Gil and he'll openly admit it. This article was written by someone who:

1) doesn't know how C4 works

2) doesn't analyze relevant metrics from their JVMs

Edit: My bad - unfortunate wording. I didn't mean this as negative at all. It's cool (if niche) ability.
So is python. Doesn't mean you use it for your latency critical software.