Open
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.
Metadata
Metadata
Assignees
Labels
Area: Async & AwaitArea: Code generationArea: CoroutinesAsync-await issues that have been triaged during a working group meeting.Category: An issue highlighting optimization opportunities or PRs implementing such`#![feature(coroutines)]`Issue: Problems and improvements with respect to binary size of generated code.Relevant to the compiler team, which will review and decide on the PR/issue.Issues about issues themselves ("bugs about bugs")