• Stars
    star
    125
  • Rank 275,339 (Top 6 %)
  • Language
    Scala
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 30 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Compilation profiling tool for Scala 2 projects

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:

addCompilerPlugin("ch.epfl.scala" %% "scalac-profiling" % "<version>" 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 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 in 2017 and 2018 as the result of the proposal SCP-10, submitted by a corporate member of the board. The Center is seeking new corporate members to fund activities such as these, to benefit the entire Scala community.

Version 1.0 of the plugin supports Scala 2.12.

The plugin is now community-maintained, with maintenance overseen by the Center. Thanks to volunteer contributors, there is now a 1.1.0-RC1 release candidate targeting Scala 2.13 (in addition to 2.12). We invite interested users to test the release candidate and submit further improvements.

Historical context

The historical context of this project is quite interesting. For those wondering about the details, see the dedicated section.

More Repositories

1

bloop

Bloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool.
Scala
869
star
2

scalafix

Refactoring and linting tool for Scala
Scala
800
star
3

scastie

An interactive playground for Scala
Scala
423
star
4

scala-3-migration-guide

The Scala 3 migration guide for everyone.
Scala
239
star
5

scalajs-bundler

Scala
231
star
6

scaladex

The Scala Package Index
Scala
187
star
7

sbt-missinglink

An sbt plugin for missinglink
Scala
132
star
8

macros

Archived - Scala Macros
Scala
125
star
9

sprees

Scala Open Source Sprees: join us and learn how to contribute to open source!
110
star
10

advisoryboard

Scala Center Advisory Board planning
Scala
98
star
11

scala3-migrate

A tool to help migrating from Scala 2 to Scala 3
Scala
95
star
12

sbt-version-policy

Compatibility checks for your dependencies
Scala
80
star
13

sbt-scalafix

sbt plugin for Scalafix
Scala
78
star
14

sbt-dependency-submission

A Github Action to submit the dependency graph of an sbt build to the Dependency Submission API
Scala
55
star
15

scala-debug-adapter

Implementation of the Debug Adapter Protocol for Scala
Scala
54
star
16

scala-advent-of-code

Scala Center's solution of Advent of Code
Scala
51
star
17

tasty-query

Scala
45
star
18

GoogleSummerOfCode

Ideas list for GSoC 2024 mentored by Scala Center
37
star
19

classpath-shrinker

Scalac plugin to detect classpath entries that aren't directly used
Scala
29
star
20

course-management-tools

Course Management tools
Scala
27
star
21

sbtfix

Scalafix rewrites to migrate from sbt 0.13 to 1.0.
Scala
23
star
22

tooling-working-groups

Scala Tooling Working Groups
20
star
23

sbt-eviction-rules

An sbt plugin enhancing the evicted key.
Scala
19
star
24

scala-syntax

Scalameta pretty printer for better Scalafix refactorings
Scala
17
star
25

mix-macros-scala-2-and-3

Demo mixing definitions of macros for Scala 2 and 3 in one source file
Scala
17
star
26

GoogleSummerOfCode2021

16
star
27

simple-rockets-compiler

A Scala 3 DSL to compile programs for SimpleRockets 2
Scala
10
star
28

scalafix.g8

Giter8 template to implement custom rewrites
Scala
10
star
29

tasty-mima

TASTy Migration Manager
Scala
9
star
30

load-plugin

A sbt helper to programmatically load plugins
Scala
9
star
31

scaladex-contrib

pom => github
8
star
32

student-projects

The list of the available projects at the Scala Center for bachelor and master students.
8
star
33

tasty-reader-compat-testkit

Validating the TASTy Reader for Scala 2 with external projects that are published for Scala 3
Scala
8
star
34

accessible-scala

SCP-016: Accessible Scala
Scala
7
star
35

gradle-bloop

Gradle plugin for Bloop
Scala
6
star
36

effective-scala-slide-code

Scala
6
star
37

platform

The Scala Platform process and the tools around it.
Scala
6
star
38

library-example

Scala
6
star
39

sbt-tasty-mima

sbt plugin for TASTy-MiMa
Scala
4
star
40

sbt-scalafix-example

Example sbt build using scalafix
Scala
4
star
41

example-scalafix-rule

Scala
3
star
42

scaladex-index

bintray search meta, bintray poms, sonatype poms, users poms, live data
3
star
43

scalafix-named-literal-arguments

Example Scalafix rule to insert named arguments for boolean literals. This repo only exists for documentation purposes. The rule itself is not intended to be used
Scala
3
star
44

homebrew-bloop

Homebrew formula for Bloop
Ruby
2
star
45

bloop-maven-plugin

Maven Plugin for Bloop
Scala
2
star
46

versions

Scala
2
star
47

scala3-migration-course

A Scala 3 migration course based on sbt-scala3-migrate
Scala
1
star
48

sbt-github-dependency-graph

An sbt plugin to submit your dependencies to the Github Dependency Graph API.
Scala
1
star
49

intellij-scala-quickinstall

EXPERIMENT - Single-click install script for IntelliJ + Scala plugin
1
star
50

scaladex-small-index

1
star
51

accessible-scala-demo

CSS
1
star
52

scalacenter.github.io

HTML
1
star
53

snake-workshop

Workshop for Scalabase 2021
Scala
1
star