Enable scala2 inliner#605
Open
mdedetrich wants to merge 2 commits into
Open
Conversation
mdedetrich
marked this pull request as draft
January 17, 2024 13:30
mdedetrich
force-pushed
the
enable-scala2-inliner
branch
5 times, most recently
from
January 17, 2024 13:56
7eb7019 to
e1f3684
Compare
mdedetrich
force-pushed
the
enable-scala2-inliner
branch
from
January 21, 2024 23:07
e1f3684 to
bbea2b4
Compare
mdedetrich
marked this pull request as ready for review
January 21, 2024 23:13
mdedetrich
commented
Jan 21, 2024
| rewrite.rules = [AvoidInfix, SortImports, RedundantBraces, RedundantParens, SortModifiers] | ||
| docstrings.style = Asterisk | ||
| align.preset = none | ||
| project.layout = StandardConvention |
Contributor
Author
There was a problem hiding this comment.
This setting instructs scalafmt to apply the Scala 3 dialect to Scala 3 sources since this is the first time that this project has explicit Scala 3 sources.
Member
|
Is there any empirical evidence that the inliner helps here? Sometimes it even makes things worse. |
Contributor
Author
|
I did some testing but because I am overseas I only had my M1 pro which is notoriously difficult to benchmark especially when detecting minor performance improvements. Ill be back at home in a few weeks and can re-run benchmarks on an actual desktop with locked clocks, will ping you then |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I noticed that this project uses the
@inlineannotation which actually doesn't do anything unless you have the scala-2 inliner enable, quoting from https://docs.scala-lang.org/overviews/compiler-options/optimizer.htmlOntop of this the PR splits out the implementation between Scala 2 and Scala 3. This is because Scala 3 hasn't ported the Scala 2 optimizer yet. Instead we use the
inlinekeyword which for our intents and purposes achieves the same effect.MiMa filters were added but this is for code that was marked private/internal use so it shouldn't be an issue.