3 ms·
Perhaps Instagram? Or Twitch? Or Discord? https://news.ycombinator.com/item?id=23144380 https://news.ycombinator.com/item?id=23144380
by def_true_false 6y ago
Perhaps Instagram? Or Twitch? Or Discord?
https://news.ycombinator.com/item?id=23144380 https://news.ycombinator.com/item?id=23144380
- lostmyoldone 6y agoI know I read about some trading firm(s) doing that, but I don't know which, if it was even stated. Whomever they were, they were rotating pre-warmed jvm images with disabled GC, and were reaching quite respectable latency figures. To not have to recycle them quickly, you'll want to not generate too much garbage objects, and that's actually easier than one might think in Java. Especially if you accept to restart the jvm from time to time, as you only need to be mostly statically allocated. Rare error paths can freely use dynamic allocation as long as most of the service doesn't. Nowadays you can also get away without using strings in most places, using only char sequence flyweights over "statically" allocated char sequences. Otherwise strings were a pain, especially API's that really doesn't need a string (ownership) but had string method arguments nevertheless. Used like that, as you would on an embedded platform, theres nothing I know of that actually beats the JVM in raw performance while still being somewhat practical in terms of tooling and hiring. Rust might take that crown, we'll see, but I hope so.