Skip to content

Conversation

@RobertLeahy
Copy link
Contributor

@RobertLeahy RobertLeahy commented Dec 16, 2025

Previously the operation states for let_value, let_error, and let_stopped directly contained the operation states of one or two child operations. When first connected this number was one, and after the completion of that first operation and the connection of the sender returned by the wrapped invocable the number was two. Notably when the second operation state is connected the first operation has completed.

P3373 proposes changing the above behavior such that after the tuple of values sent by the first operation is populated the operation state for the first operation is destroyed. Thereafter that storage can be reused for the operation state of the second operation thereby:

  • Release resources held by the first operation state sooner, and
  • Reducing the size of the operation states of let_value, let_error, and let_stopped

This commit implements the above-described change.

@copy-pr-bot
Copy link

copy-pr-bot bot commented Dec 16, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ericniebler
Copy link
Collaborator

/ok to test 9f66f97

@ericniebler
Copy link
Collaborator

/ok to test db1b0bb

@ericniebler
Copy link
Collaborator

/ok to test 173892c

…mpletion

Previously the operation states for let_value, let_error, and
let_stopped directly contained the operation states of one or two child
operations. When first connected this number was one, and after the
completion of that first operation and the connection of the sender
returned by the wrapped invocable the number was two. Notably when the
second operation state is connected the first operation has completed.

P3373 proposes changing the above behavior such that after the tuple of
values sent by the first operation is populated the operation state for
the first operation is destroyed. Thereafter that storage can be reused
for the operation state of the second operation thereby:

- Release resources held by the first operation state sooner, and
- Reducing the size of the operation states of let_value, let_error, and
  let_stopped

This commit implements the above-described change.
@ericniebler
Copy link
Collaborator

/ok to test 01ea736

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants