-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-async-awaitArea: Async & AwaitArea: Async & AwaitA-codegenArea: Code generationArea: Code generationA-coroutinesArea: CoroutinesArea: CoroutinesAsyncAwait-TriagedAsync-await issues that have been triaged during a working group meeting.Async-await issues that have been triaged during a working group meeting.C-optimizationCategory: An issue highlighting optimization opportunities or PRs implementing suchCategory: An issue highlighting optimization opportunities or PRs implementing suchF-coroutines`#![feature(coroutines)]``#![feature(coroutines)]`I-heavyIssue: Problems and improvements with respect to binary size of generated code.Issue: Problems and improvements with respect to binary size of generated code.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.metabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")
Description
(old issue: #52924)
This issue tracks ideas for reducing the memory footprint of coroutines.
- Generator size: borrowed variables are assumed live across following yield points #59087 – Generator size: borrowed variables are assumed live across following yield points
-
size_of_val
in a generator can make the generator bigger #62321 –size_of_val
in a generator can make the generator bigger - Better greedy layout computation for generators #62575 – Better greedy layout computation for generators
- Copy trait defeats generator optimization #62952 – Copy trait defeats generator optimization
- Async fn doubles argument size #62958 – Async fn doubles argument size
- [codegen] Unnecessary panicking branches in resumption of infinite generator (stored in static variable) #66100 – [codegen] Unnecessary panicking branches in resumption of infinite generator (stored in static variable)
- Generators should use smaller discriminants #69815 – Generators should use smaller discriminants
Note that this issue is different from #69663, which tracks typesystem-level improvements regarding coroutines. This issue is purely about the code generation aspect.
tmandry, luojia65, yoshuawuyts, Kobzol, XiangpengHao and 20 more
Metadata
Metadata
Assignees
Labels
A-async-awaitArea: Async & AwaitArea: Async & AwaitA-codegenArea: Code generationArea: Code generationA-coroutinesArea: CoroutinesArea: CoroutinesAsyncAwait-TriagedAsync-await issues that have been triaged during a working group meeting.Async-await issues that have been triaged during a working group meeting.C-optimizationCategory: An issue highlighting optimization opportunities or PRs implementing suchCategory: An issue highlighting optimization opportunities or PRs implementing suchF-coroutines`#![feature(coroutines)]``#![feature(coroutines)]`I-heavyIssue: Problems and improvements with respect to binary size of generated code.Issue: Problems and improvements with respect to binary size of generated code.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.metabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")