-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parallelise JVM backend - Scala 2 port #15392
Parallelise JVM backend - Scala 2 port #15392
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
performance test scheduled: 1 job(s) in queue, 1 running. |
1 similar comment
performance test scheduled: 1 job(s) in queue, 1 running. |
Performance test finished successfully: Visit https://dotty-bench.epfl.ch/15392/ to see the changes. Benchmarks is based on merging with main (76a0b29) |
a07d0c9
to
ffc94ba
Compare
25c997d
to
6ed7b94
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't say I have carefully reviewed everything, but it seems to be a reasonable enough port of the Scala 2 PR. I only have a few comments to make it a bit safer to evolve later.
6ed7b94
to
5d9afea
Compare
@WojciechMazur Will this feature be backported to the 3.3.2 release? |
I don't think it will or should be it backported. In the Scala 2 JVM backend contained additional postprocessing (optimizer, inliner) of the Bytecode which actually benefited from fact of its paralysation. However, currently in Scala 3 we would not see any reasonable performance gains as we would be able to only write generated classfiles in parallel - typically we would be limited by I/O, and not the CPU. |
5d9afea
to
9746478
Compare
scala/scala3#15392 before: ``` [success] Total time: 102 s (01:42), completed Mar 15, 2024, 8:03:47 AM ./lila 'clean;compile' 677.02s user 24.42s system 607% cpu 1:55.56 total ``` after: ``` [success] Total time: 99 s (01:39), completed Mar 15, 2024, 8:08:23 AM ./lila 'clean;compile' 652.09s user 23.96s system 628% cpu 1:47.53 total ```
Backports #15392 to the LTS branch. PR submitted by the release tooling. [skip ci]
This PR ports scala/scala#6124 introduces backend parallelism, on top of the previously ported changes introduced in #15322
Adds Scala2 flags:
-Yjar-compression-level:N
-Ybackend-parallelism:N
-Ybackend-worker-queue:N