Skip to content

Reduce activation working set entry overhead#10114

Draft
ReubenBond wants to merge 2 commits into
dotnet:mainfrom
ReubenBond:rebond/activation-working-set-memory
Draft

Reduce activation working set entry overhead#10114
ReubenBond wants to merge 2 commits into
dotnet:mainfrom
ReubenBond:rebond/activation-working-set-memory

Conversation

@ReubenBond
Copy link
Copy Markdown
Member

@ReubenBond ReubenBond commented May 17, 2026

Summary

  • Store activation working-set idle state as the ActivationWorkingSet dictionary value instead of in a per-entry state object.
  • Reduce ActivationWorkingSet dictionary entry overhead while preserving existing active/idle transitions.
  • Keep IActivationWorkingSetMember unchanged so test implementations and external implementers are not broken.

Validation

  • dotnet build test\Orleans.Placement.Tests\Orleans.Placement.Tests.csproj --nologo --verbosity minimal -property:UseSharedCompilation=false
  • dotnet build src\Orleans.Runtime\Orleans.Runtime.csproj --no-restore --nologo --verbosity minimal -property:UseSharedCompilation=false
  • dotnet test test\Orleans.Core.Tests\Orleans.Core.Tests.csproj --no-restore --nologo --verbosity minimal --filter FullyQualifiedName~ActivationCollectorTests -property:UseSharedCompilation=false
  • dotnet test test\Orleans.Placement.Tests\Orleans.Placement.Tests.csproj --no-build --nologo --verbosity minimal --filter FullyQualifiedName~DeactivatedGrainQueueTests -property:UseSharedCompilation=false

ReubenBond and others added 2 commits May 16, 2026 21:58
Store the idle scan bit on the working set member instead of allocating a per-member state object.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

1 participant