Avoid allocation in Task.Yield() awaiter by stephentoub · Pull Request #20186 · dotnet/coreclr (original) (raw)

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

stephentoub

Now that IAsyncStateMachineBox is an IThreadPoolWorkItem, we can queue it directly in Task.Yield's awaiter. This makes await Task.Yield(); allocation-free when the default scheduler is used.

cc: @kouvel, @davidfowl

@stephentoub

Now that IAsyncStateMachineBox is an IThreadPoolWorkItem, we can queue it directly in Task.Yield's awaiter. This makes await Task.Yield(); allocation-free when the default scheduler is used.

kouvel

dotnet-maestro-bot pushed a commit to dotnet-maestro-bot/corefx that referenced this pull request

Sep 29, 2018

@stephentoub @dotnet-bot

Now that IAsyncStateMachineBox is an IThreadPoolWorkItem, we can queue it directly in Task.Yield's awaiter. This makes await Task.Yield(); allocation-free when the default scheduler is used.

Signed-off-by: dotnet-bot dotnet-bot@microsoft.com

dotnet-maestro-bot pushed a commit to dotnet-maestro-bot/corert that referenced this pull request

Sep 29, 2018

@stephentoub @dotnet-bot

Now that IAsyncStateMachineBox is an IThreadPoolWorkItem, we can queue it directly in Task.Yield's awaiter. This makes await Task.Yield(); allocation-free when the default scheduler is used.

Signed-off-by: dotnet-bot dotnet-bot@microsoft.com

jkotas pushed a commit to dotnet/corert that referenced this pull request

Sep 29, 2018

@stephentoub @jkotas

Now that IAsyncStateMachineBox is an IThreadPoolWorkItem, we can queue it directly in Task.Yield's awaiter. This makes await Task.Yield(); allocation-free when the default scheduler is used.

Signed-off-by: dotnet-bot dotnet-bot@microsoft.com

@davidfowl

I was going to do this one but I'm still clearing disk space 😄

jkotas pushed a commit to dotnet/corefx that referenced this pull request

Sep 29, 2018

@stephentoub @jkotas

Now that IAsyncStateMachineBox is an IThreadPoolWorkItem, we can queue it directly in Task.Yield's awaiter. This makes await Task.Yield(); allocation-free when the default scheduler is used.

Signed-off-by: dotnet-bot dotnet-bot@microsoft.com