Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

twitter/rsc

Experimental Scala compiler focused on compilation speed

twitter/rsc.json
{
"createdAt": "2017-08-17T17:56:27Z",
"defaultBranch": "master",
"description": "Experimental Scala compiler focused on compilation speed",
"fullName": "twitter/rsc",
"homepage": "",
"language": "Scala",
"name": "rsc",
"pushedAt": "2021-10-21T17:27:10Z",
"stargazersCount": 1239,
"topics": [],
"updatedAt": "2025-11-11T18:44:22Z",
"url": "https://github.com/twitter/rsc"
}

Reasonable Scala compiler (also known as Rsc) is an experimental Scala compiler focused on compilation speed. This project is developed by the Language Tools team at Twitter.

Rsc is not a fork, but a reimplementation of the Scala compiler. We believe that a performance-oriented rewrite will provide a unique perspective on compilation costs introduced by various Scala features and idioms - something that is currently very hard to quantify in existing compilers.

With Rsc, our mission is to complement official compilers and assist with their evolution through our experiments. We are aiming to discover actionable insight into Scala compiler architecture and language design that will help compiler developers at Lightbend and EPFL to optimize their compilers for the benefit of the entire Scala community.

  • Dramatically improve Scala compilation performance
  • Study compilation time overhead of various Scala features
  • Identify a subset of Scala that can be compiled with reasonable speed
  • Facilitate knowledge transfer to other Scala compilers
  • We expanded the [supported subset of Scala]!(docs/language.md) and are now using Twitter Util in our experiments.
  • We implemented support for loading dependencies based on the SemanticDB format provided by Scalameta.
  • Our [prototype outliner]!(docs/compiler.md) can compute signatures of public and protected definitions and save them in the ScalaSignature format that enables interoperability with the Scala compiler.
  • In the future, we will proceed with development according to [our roadmap]!(docs/roadmap.md).
  • [Getting started]!(docs/gettingstarted.md)
  • [Language]!(docs/language.md)
  • [Compiler]!(docs/compiler.md)
  • [Performance]!(docs/performance.md)
  • [Roadmap]!(docs/roadmap.md)
  • [Contributing]!(docs/contributing.md)
  • [Related work]!(docs/relatedwork.md)

Our project is inspired by the work of Martin Odersky, Grzegorz Kossakowski and Denys Shabalin. Martin inspiringly showed that in this day and age it is still possible to write a Scala compiler from scratch. Greg unexpectedly demonstrated that compiling Scala can be blazingly fast. Denys shockingly revealed that Scala apps can have instant startup time.