6 ms·
But what was the JVM tuning? Thats the most interesting part!
by eppp 4y ago
But what was the JVM tuning? Thats the most interesting part!
- stardenburden 4y agoThe linked blog post has some details: https://lichess.org/@/thibault/blog/lichess-on-scala3-help-needed/2bpotLb0 https://lichess.org/@/thibault/blog/lichess-on-scala3-help-n...
- csense 4y agoAlso see previous HN discussion (top comment is the solution): https://news.ycombinator.com/item?id=33865932 https://news.ycombinator.com/item?id=33865932
- cpleppert 4y agoYeah, literally the first thing you do when running into JVM issues. It was my second initial suggestion in Discord as well.
- xyst 4y agoWould be interesting to see if this application would benefit to switching the JVM from openjdk to Azuls “high performance” JVM. Rather than use a big bang deployment. Setup an A/B test, and gather a sampling of data. I haven’t been able to truly test azul’s claims yet. Java apps that I manage/deploy were on a small scale in regards to requests/sec and I personally didn’t see much difference.
- dikei 4y agoAzul Zing is quit expensive at minimum $15K/year. While Lichess might be able to get it for free under some promotion deals, it would not make sense to tune an OSS projects for such an expensive option since most users won't be able to use it.
- lukhas 4y agoCurrently it's "-Xms30g -Xmx30g -XX:+UseG1GC -XX:+PrintCodeCache -XX:ProfiledCodeHeapSize=500m -XX:NonProfiledCodeHeapSize=500m -XX:NonNMethodCodeHeapSize=24m -XX:ReservedCodeCacheSize=1024m -XX:InitialCodeCacheSize=1024m -XX:ParallelGCThreads=24" Everything after G1GC was suggested by various helpful experts on HN, Discord, by email and other media.
- Buttons840 4y agoIs there any other runtime that needs as much tuning as the JVM? It seems like a failure of the JVM that someone capable of porting thousands of lines of code with little trouble then fails to tune the JVM. It's like, "we wrote all the code, now the hard part starts, tuning the JVM".
- thomashabets2 4y agoJava is a language built up of failed experiments in language design. My full rant about it is https://blog.habets.se/2022/08/Java-a-fractal-of-bad-experiments.html https://blog.habets.se/2022/08/Java-a-fractal-of-bad-experim... It's partially my subjective opinion, but it seems that almost every single language design decision that Java made was, in retrospect, a bad one. Not that I could have done better. It's just that none of it panned out.
- adgjlsfhk1 4y agoThat's not quite fair. They made 1 good design decision (killing pointers).
- thomashabets2 4y agoMy graph of null pointer exceptions per second would disagree with you. It's something so common that "NPE" is a common term used when using Java. But maybe you're saying that the decision was good, but that they failed to actually do it?
- jdlshore 4y ago