Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/scalacenter/scalac-profiling
Compilation profiling tool for Scala 2 projects
https://github.com/scalacenter/scalac-profiling
implicit-searches macros reproducibility sbt-plugin scala-development scalac statistics
Last synced: 5 days ago
JSON representation
Compilation profiling tool for Scala 2 projects
- Host: GitHub
- URL: https://github.com/scalacenter/scalac-profiling
- Owner: scalacenter
- License: apache-2.0
- Created: 2017-08-02T12:15:05.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T05:34:26.000Z (10 days ago)
- Last Synced: 2024-11-04T06:25:27.253Z (10 days ago)
- Topics: implicit-searches, macros, reproducibility, sbt-plugin, scala-development, scalac, statistics
- Language: Scala
- Homepage: https://scalacenter.github.io/scalac-profiling/
- Size: 3.75 MB
- Stars: 132
- Watchers: 15
- Forks: 18
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Providing Better Compilation Performance Information
When compile times become a problem, how can Scala developers reason about
the relation between their code and compile times?## Installation
Add the `scalac-profiling` compiler plugin into your project:
```scala
addCompilerPlugin("ch.epfl.scala" %% "scalac-profiling" % "" cross CrossVersion.full)
```Note that in Scala 2.13, the preferred form of the compiler option to enable statistics is `-Vstatistics`. It is part of the family of `-V` flags that enable various "verbose" behaviors (in 2.12, the flag is called `-Ystatistics`).
Learn more at https://scalacenter.github.io/scalac-profiling.
Also, you may wish to read the [Speeding Up Compilation Time with `scalac-profiling`](https://www.scala-lang.org/blog/2018/06/04/scalac-profiling.html) in the scala-lang blog. Worth noting that the article is 5+ years old, and hasn't been updated. But still, you may gather a lot of ideas while reading it.
## Maintenance status
This tool was created at the [Scala Center](http://scala.epfl.ch) in 2017 and 2018 as the result of the proposal [SCP-10](https://github.com/scalacenter/advisoryboard/blob/main/proposals/010-compiler-profiling.md), submitted by a [corporate member](https://scala.epfl.ch/corporate-membership.html) of the board. The Center is seeking new corporate members to fund activities such as these, to benefit the entire Scala community.
The plugin is now community-maintained, with maintenance overseen by the Center. Thanks to volunteer contributors, the latest release 1.1.0 supports both Scala 2.13 and 2.12.
## Historical context
The historical context of this project is quite interesting. For those wondering about the details, see the [dedicated section](HISTORICALCONTEXT.md).