Skip to content
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

Intrinsify constValueTuple and summonAll #18013

Merged
merged 2 commits into from
Sep 25, 2023

Conversation

nicolasstucki
Copy link
Contributor

@nicolasstucki nicolasstucki commented Jun 20, 2023

The new implementation instantiates the TupleN/TupleXXL classes directly.
This avoids the expensive unrolling of tuples using *: recursively.

Fixes #15988

@sjrd sjrd added the needs-minor-release This PR cannot be merged until the next minor release label Jun 20, 2023
@nicolasstucki nicolasstucki force-pushed the fix-15988 branch 2 times, most recently from 1e1868c to 3e393a9 Compare June 20, 2023 12:14
@nicolasstucki nicolasstucki changed the title Fix performance of constValueTuple Intrinsify constValueTuple and summonAll Jun 20, 2023
@nicolasstucki nicolasstucki marked this pull request as ready for review June 22, 2023 07:06
@nicolasstucki nicolasstucki added needs-minor-release This PR cannot be merged until the next minor release and removed needs-minor-release This PR cannot be merged until the next minor release labels Jul 31, 2023
@nicolasstucki nicolasstucki added this to the 3.4.0 milestone Jul 31, 2023
The new implementation instantiates the TupleN/TupleXXL classes directly.
This avoids the expensive construction of tuples using `*:`.

Fixes scala#15988
compiler/src/dotty/tools/dotc/ast/tpd.scala Outdated Show resolved Hide resolved
compiler/src/dotty/tools/dotc/inlines/Inlines.scala Outdated Show resolved Hide resolved
Co-authored-by: Matt Bovel <matthieu@bovel.net>
@nicolasstucki nicolasstucki merged commit b03a648 into scala:main Sep 25, 2023
14 checks passed
@nicolasstucki nicolasstucki deleted the fix-15988 branch September 25, 2023 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-minor-release This PR cannot be merged until the next minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performance of compiletime tuple construction
4 participants