news.volyx.in

Lichess gets a big upgrade. It doesn't go as planned (lichess.org)

478 points by _fizz_buzz_ · 1361 days ago · 213 comments on HN

Article summary

The article discusses the migration of Lichess, a chess website, from Scala 2 to Scala 3. The migration was expected to be difficult due to the size of the codebase, but it was completed in a month with few issues. The author highlights the new features of Scala 3, such as opaque types and improved type inference, and notes that the migration to Scala 3 required some JVM tuning. The website is now running faster than before, but it's unclear whether this is due to Scala 3 itself or the JVM tuning.

Main themes

  • Scala 3 migration
  • JVM tuning
  • Performance optimization
  • Programming language choice
  • Runtime complexity
  • Java design decisions
  • Customizability vs ease of use

What commenters say

  • The JVM requires significant tuning for optimal performance, which can be complex and time-consuming.
  • Some commenters believe that the JVM's need for tuning is a weakness, while others see it as a strength that allows for fine-grained control.
  • The choice of programming language and runtime can have a significant impact on performance and development productivity.
  • Go is mentioned as an alternative language that may require less tuning and have better performance out of the box.
  • The complexity of the JVM is both a benefit and a drawback, allowing for customization but also requiring expertise to manage.
  • Some commenters disagree on the design decisions made in Java, with some seeing them as failed experiments and others as successful innovations.
  • The need for tuning and customization can be seen as a necessary evil for achieving high performance in certain applications.
  • The trade-off between ease of use and customizability is a key consideration when choosing a programming language and runtime.