diff --git a/.editorconfig b/.editorconfig
index 96f80c7..8c46f77 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -69,3 +69,8 @@ indent_size = 2
[*.{yml,yaml}]
indent_size = 2
indent_style = space
+
+
+# C# analyzers
+[*.{cs,vb}]
+dotnet_diagnostic.CA2252.severity = none
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index 470ef68..6f8cd6b 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -21,11 +21,19 @@
true
+
+
+ true
+ true
+ true
+
+
True
8.0
- 9.0
- enable
+ 9.0
+ enable
+ 10.0
@@ -35,4 +43,5 @@
false
true
+
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 9f2401c..c5a75f2 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -16,7 +16,7 @@
-
+
diff --git a/IcedTasks.sln b/IcedTasks.sln
index c7f66b4..996cb34 100644
--- a/IcedTasks.sln
+++ b/IcedTasks.sln
@@ -27,6 +27,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{B3
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "ILSpySamples", "examples\ILSpySamples\ILSpySamples.fsproj", "{130D8BDE-DAB6-4B12-925D-A9CFEC9F8B02}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILSpySamples-CSharp", "examples\ILSpySamples-CSharp\ILSpySamples-CSharp.csproj", "{F079E375-8A7E-4AF4-B89F-E0365682EEA6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -133,6 +135,18 @@ Global
{130D8BDE-DAB6-4B12-925D-A9CFEC9F8B02}.Release|x64.Build.0 = Release|Any CPU
{130D8BDE-DAB6-4B12-925D-A9CFEC9F8B02}.Release|x86.ActiveCfg = Release|Any CPU
{130D8BDE-DAB6-4B12-925D-A9CFEC9F8B02}.Release|x86.Build.0 = Release|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Debug|x64.Build.0 = Debug|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Debug|x86.Build.0 = Debug|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Release|x64.ActiveCfg = Release|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Release|x64.Build.0 = Release|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Release|x86.ActiveCfg = Release|Any CPU
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -145,5 +159,6 @@ Global
{446B1378-DDC2-47CD-A6F2-C10F946B7E12} = {ACBEE43C-7A88-4FB1-9B06-DB064D22B29F}
{04D5314E-2B8F-442B-9983-DCD12CC43448} = {ACBEE43C-7A88-4FB1-9B06-DB064D22B29F}
{130D8BDE-DAB6-4B12-925D-A9CFEC9F8B02} = {B36A84DF-456D-A817-6EDD-3EC3E7F6E11F}
+ {F079E375-8A7E-4AF4-B89F-E0365682EEA6} = {B36A84DF-456D-A817-6EDD-3EC3E7F6E11F}
EndGlobalSection
EndGlobal
diff --git a/benchmarks/CSharpTaskBenchmarks/CSharpTaskBenchmarks.csproj b/benchmarks/CSharpTaskBenchmarks/CSharpTaskBenchmarks.csproj
index ad72d3e..878723f 100644
--- a/benchmarks/CSharpTaskBenchmarks/CSharpTaskBenchmarks.csproj
+++ b/benchmarks/CSharpTaskBenchmarks/CSharpTaskBenchmarks.csproj
@@ -1,8 +1,11 @@
- net8.0;net9.0
+ net10.0;net9.0;net8.0
enable
enable
false
+ true
+ $(Features);runtime-async=on
+ $(NoWarn);SYSLIB5007
\ No newline at end of file
diff --git a/benchmarks/FSharpBenchmarks/AsynchonousCompletionBenchmark.fs b/benchmarks/FSharpBenchmarks/AsynchonousCompletionBenchmark.fs
index 1bf2e99..261640c 100644
--- a/benchmarks/FSharpBenchmarks/AsynchonousCompletionBenchmark.fs
+++ b/benchmarks/FSharpBenchmarks/AsynchonousCompletionBenchmark.fs
@@ -11,6 +11,7 @@ open System.Threading.Tasks
open IcedTasks
open System.IO
+open System.Runtime.CompilerServices
[]
@@ -82,7 +83,25 @@ module AsyncHelpers =
do! taskYield ()
return 100
}
+#if NET10_0_OR_GREATER
+ []
+ // []
+ let fsharp_tenBindAsync_TaskBuilderRuntime () =
+ IcedTasks.Polyfill.TasksRuntime.TaskBuilder.task {
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ do! taskYield ()
+ return 100
+ }
+#endif
let fsharp_tenBindAsync_ValueTaskBuilder () =
valueTask {
@@ -233,6 +252,22 @@ type AsyncCompletionBenchmarks() =
z
+
+ []
+ member x.FSharp_TenBindsAsync_TaskBuilderRuntime() : int =
+#if NET10_0_OR_GREATER
+ let mutable z = 0
+
+ for i in 1 .. x.manyIterations do
+ z <- fsharp_tenBindAsync_TaskBuilderRuntime().GetAwaiter().GetResult()
+
+
+ z
+#else
+ raise (NotSupportedException("Must be .NET 10 or greater"))
+#endif
+
[]
member x.FSharp_TenBindsAsync_ValueTaskBuilder() =
diff --git a/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report-github.md b/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report-github.md
index 0a8dcb1..f15a737 100644
--- a/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report-github.md
+++ b/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report-github.md
@@ -1,23 +1,54 @@
-``` ini
+```
-BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.1848)
-12th Gen Intel Core i9-12900F, 1 CPU, 24 logical and 16 physical cores
-.NET SDK=7.0.203
- [Host] : .NET 7.0.8 (7.0.823.31807), X64 RyuJIT AVX2 DEBUG
- DefaultJob : .NET 7.0.8 (7.0.823.31807), X64 RyuJIT AVX2
+BenchmarkDotNet v0.15.7, Windows 11 (10.0.26100.7171/24H2/2024Update/HudsonValley)
+12th Gen Intel Core i9-12900F 2.40GHz, 1 CPU, 24 logical and 16 physical cores
+.NET SDK 10.0.100
+ [Host] : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3 DEBUG
+ .NET 10.0 : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3
+ .NET 8.0 : .NET 8.0.21 (8.0.21, 8.0.2125.47513), X64 RyuJIT x86-64-v3
+ .NET 9.0 : .NET 9.0.10 (9.0.10, 9.0.1025.47515), X64 RyuJIT x86-64-v3
```
-| Method | Categories | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
-|--------------------------------------------------------------------- |----------------------------------------------------------------------- |----------:|----------:|----------:|------:|--------:|-------:|----------:|------------:|
-| CSharp_TenBindsAsync_TaskBuilder | AsyncBinds,CSharp,TaskBuilder | 3.650 μs | 0.0702 μs | 0.0690 μs | 1.00 | 0.00 | - | 112 B | 1.00 |
-| CSharp_TenBindsAsync_ValueTaskBuilder | AsyncBinds,CSharp,ValueTaskBuilder | 3.533 μs | 0.0527 μs | 0.0467 μs | 0.97 | 0.02 | 0.0039 | 120 B | 1.07 |
-| FSharp_TenBindsAsync_AsyncBuilder | AsyncBinds,FSharp,AsyncBuilder | 70.017 μs | 1.3369 μs | 1.7383 μs | 19.18 | 0.61 | 0.4286 | 8224 B | 73.43 |
-| FSharp_TenBindsAsync_CancellableTaskBuilder | AsyncBinds,FSharp,CancellableTaskBuilder | 3.607 μs | 0.0167 μs | 0.0130 μs | 0.99 | 0.02 | 0.0117 | 200 B | 1.79 |
-| FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask | AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask | 3.725 μs | 0.0737 μs | 0.1081 μs | 1.02 | 0.04 | 0.0117 | 200 B | 1.79 |
-| FSharp_TenBindsAsync_CancellableValueTaskBuilder | AsyncBinds,FSharp,CancellableValueTaskBuilder | 3.549 μs | 0.0698 μs | 0.1378 μs | 0.97 | 0.04 | 0.0117 | 216 B | 1.93 |
-| FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask | AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask | 3.684 μs | 0.0689 μs | 0.0575 μs | 1.01 | 0.02 | 0.0117 | 216 B | 1.93 |
-| FSharp_TenBindsAsync_PlyTaskBuilder | AsyncBinds,FSharp,PlyTaskBuilder | 4.137 μs | 0.0235 μs | 0.0220 μs | 1.13 | 0.03 | 0.0430 | 672 B | 6.00 |
-| FSharp_TenBindsAsync_PlyValueTaskBuilder | AsyncBinds,FSharp,PlyValueTaskBuilder | 3.869 μs | 0.0393 μs | 0.0329 μs | 1.06 | 0.02 | 0.0391 | 672 B | 6.00 |
-| FSharp_TenBindsAsync_TaskBuilder | AsyncBinds,FSharp,TaskBuilder | 3.574 μs | 0.0243 μs | 0.0227 μs | 0.98 | 0.02 | 0.0078 | 128 B | 1.14 |
-| FSharp_TenBindsAsync_ValueTaskBuilder | AsyncBinds,FSharp,ValueTaskBuilder | 3.510 μs | 0.0669 μs | 0.0626 μs | 0.96 | 0.03 | 0.0078 | 136 B | 1.21 |
+| Method | Job | Runtime | Categories | Mean | Error | StdDev | Median | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
+|--------------------------------------------------------------------- |---------- |---------- |----------------------------------------------------------------------- |-------------:|-------------:|-------------:|-------------:|------:|--------:|-------:|----------:|------------:|
+| CSharp_TenBindsAsync_TaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,CSharp,TaskBuilder | 1,751.75 ns | 29.396 ns | 26.059 ns | 1,753.48 ns | 1.00 | 0.02 | 0.0059 | 96 B | 1.00 |
+| CSharp_TenBindsAsync_TaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,CSharp,TaskBuilder | 3,092.20 ns | 27.744 ns | 25.952 ns | 3,091.11 ns | 1.77 | 0.03 | 0.0039 | 96 B | 1.00 |
+| CSharp_TenBindsAsync_TaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,CSharp,TaskBuilder | 1,834.57 ns | 25.990 ns | 21.703 ns | 1,830.35 ns | 1.05 | 0.02 | 0.0059 | 96 B | 1.00 |
+| CSharp_TenBindsAsync_ValueTaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,CSharp,ValueTaskBuilder | 1,712.46 ns | 30.305 ns | 28.347 ns | 1,711.13 ns | 0.98 | 0.02 | 0.0059 | 104 B | 1.08 |
+| CSharp_TenBindsAsync_ValueTaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,CSharp,ValueTaskBuilder | 3,240.03 ns | 40.618 ns | 37.994 ns | 3,253.56 ns | 1.85 | 0.03 | 0.0039 | 104 B | 1.08 |
+| CSharp_TenBindsAsync_ValueTaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,CSharp,ValueTaskBuilder | 1,833.63 ns | 35.187 ns | 36.134 ns | 1,832.96 ns | 1.05 | 0.03 | - | 104 B | 1.08 |
+| FSharp_TenBindsAsync_AsyncBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,AsyncBuilder | 66,442.37 ns | 1,307.659 ns | 2,255.647 ns | 66,185.64 ns | 37.94 | 1.39 | 0.5000 | 8224 B | 85.67 |
+| FSharp_TenBindsAsync_AsyncBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,AsyncBuilder | 66,537.54 ns | 1,329.078 ns | 1,728.177 ns | 66,392.16 ns | 37.99 | 1.11 | 0.5000 | 8224 B | 85.67 |
+| FSharp_TenBindsAsync_AsyncBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,AsyncBuilder | 66,016.06 ns | 1,299.261 ns | 1,734.476 ns | 66,112.80 ns | 37.69 | 1.11 | 0.5000 | 8224 B | 85.67 |
+| FSharp_TenBindsAsync_CancellableTaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,CancellableTaskBuilder | 2,271.16 ns | 36.283 ns | 33.939 ns | 2,263.82 ns | 1.30 | 0.03 | 0.0508 | 808 B | 8.42 |
+| FSharp_TenBindsAsync_CancellableTaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,CancellableTaskBuilder | 3,801.54 ns | 40.073 ns | 35.523 ns | 3,805.37 ns | 2.17 | 0.04 | 0.0508 | 808 B | 8.42 |
+| FSharp_TenBindsAsync_CancellableTaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,CancellableTaskBuilder | 2,319.93 ns | 46.002 ns | 59.816 ns | 2,306.85 ns | 1.32 | 0.04 | 0.0508 | 808 B | 8.42 |
+| FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask | 2,277.13 ns | 31.623 ns | 29.581 ns | 2,285.44 ns | 1.30 | 0.02 | 0.0508 | 808 B | 8.42 |
+| FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask | 4,055.86 ns | 78.832 ns | 122.732 ns | 4,061.96 ns | 2.32 | 0.08 | 0.0469 | 808 B | 8.42 |
+| FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask | 2,294.96 ns | 38.003 ns | 37.324 ns | 2,289.55 ns | 1.31 | 0.03 | 0.0508 | 808 B | 8.42 |
+| FSharp_TenBindsAsync_CancellableValueTaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,CancellableValueTaskBuilder | 2,185.30 ns | 42.414 ns | 84.706 ns | 2,166.34 ns | 1.25 | 0.05 | 0.0508 | 824 B | 8.58 |
+| FSharp_TenBindsAsync_CancellableValueTaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,CancellableValueTaskBuilder | 3,892.08 ns | 76.254 ns | 109.361 ns | 3,938.84 ns | 2.22 | 0.07 | 0.0469 | 824 B | 8.58 |
+| FSharp_TenBindsAsync_CancellableValueTaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,CancellableValueTaskBuilder | 2,162.41 ns | 42.923 ns | 58.754 ns | 2,146.76 ns | 1.23 | 0.04 | 0.0508 | 824 B | 8.58 |
+| FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask | 2,140.32 ns | 37.943 ns | 37.265 ns | 2,147.44 ns | 1.22 | 0.03 | 0.0508 | 824 B | 8.58 |
+| FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask | 3,769.80 ns | 48.606 ns | 43.088 ns | 3,769.12 ns | 2.15 | 0.04 | 0.0469 | 824 B | 8.58 |
+| FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask | 2,187.57 ns | 43.675 ns | 92.126 ns | 2,166.04 ns | 1.25 | 0.06 | 0.0508 | 824 B | 8.58 |
+| FSharp_TenBindsAsync_PlyTaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,PlyTaskBuilder | 2,092.93 ns | 41.405 ns | 46.021 ns | 2,078.76 ns | 1.20 | 0.03 | 0.0391 | 656 B | 6.83 |
+| FSharp_TenBindsAsync_PlyTaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,PlyTaskBuilder | 3,872.86 ns | 76.358 ns | 101.936 ns | 3,852.86 ns | 2.21 | 0.07 | 0.0391 | 656 B | 6.83 |
+| FSharp_TenBindsAsync_PlyTaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,PlyTaskBuilder | 2,212.33 ns | 42.266 ns | 39.535 ns | 2,200.96 ns | 1.26 | 0.03 | 0.0391 | 656 B | 6.83 |
+| FSharp_TenBindsAsync_PlyValueTaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,PlyValueTaskBuilder | 2,103.78 ns | 31.121 ns | 29.111 ns | 2,108.12 ns | 1.20 | 0.02 | 0.0391 | 656 B | 6.83 |
+| FSharp_TenBindsAsync_PlyValueTaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,PlyValueTaskBuilder | 3,812.21 ns | 71.774 ns | 67.138 ns | 3,799.48 ns | 2.18 | 0.05 | 0.0391 | 656 B | 6.83 |
+| FSharp_TenBindsAsync_PlyValueTaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,PlyValueTaskBuilder | 2,259.37 ns | 49.481 ns | 145.119 ns | 2,208.15 ns | 1.29 | 0.08 | 0.0391 | 656 B | 6.83 |
+| FSharp_TenBindsAsync_TaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,TaskBuilder | 1,797.68 ns | 26.170 ns | 21.853 ns | 1,798.49 ns | 1.03 | 0.02 | 0.0059 | 112 B | 1.17 |
+| FSharp_TenBindsAsync_TaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,TaskBuilder | 3,386.05 ns | 66.148 ns | 61.875 ns | 3,383.73 ns | 1.93 | 0.04 | 0.0039 | 112 B | 1.17 |
+| FSharp_TenBindsAsync_TaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,TaskBuilder | 1,768.78 ns | 22.848 ns | 21.372 ns | 1,765.14 ns | 1.01 | 0.02 | 0.0059 | 112 B | 1.17 |
+| FSharp_TenBindsAsync_TaskBuilderRuntime | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,TaskBuilderRuntime | 42.35 ns | 0.378 ns | 0.353 ns | 42.31 ns | 0.02 | 0.00 | 0.0198 | 312 B | 3.25 |
+| FSharp_TenBindsAsync_TaskBuilderRuntime | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,TaskBuilderRuntime | NA | NA | NA | NA | ? | ? | NA | NA | ? |
+| FSharp_TenBindsAsync_TaskBuilderRuntime | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,TaskBuilderRuntime | NA | NA | NA | NA | ? | ? | NA | NA | ? |
+| FSharp_TenBindsAsync_ValueTaskBuilder | .NET 10.0 | .NET 10.0 | AsyncBinds,FSharp,ValueTaskBuilder | 2,254.48 ns | 42.740 ns | 99.056 ns | 2,239.49 ns | 1.29 | 0.06 | 0.0469 | 744 B | 7.75 |
+| FSharp_TenBindsAsync_ValueTaskBuilder | .NET 8.0 | .NET 8.0 | AsyncBinds,FSharp,ValueTaskBuilder | 3,840.81 ns | 40.324 ns | 37.719 ns | 3,838.74 ns | 2.19 | 0.04 | 0.0469 | 744 B | 7.75 |
+| FSharp_TenBindsAsync_ValueTaskBuilder | .NET 9.0 | .NET 9.0 | AsyncBinds,FSharp,ValueTaskBuilder | 2,179.59 ns | 43.274 ns | 44.439 ns | 2,175.81 ns | 1.24 | 0.03 | 0.0469 | 744 B | 7.75 |
+
+Benchmarks with issues:
+ AsyncCompletionBenchmarks.FSharp_TenBindsAsync_TaskBuilderRuntime: .NET 8.0(Runtime=.NET 8.0, Toolchain=net8.0)
+ AsyncCompletionBenchmarks.FSharp_TenBindsAsync_TaskBuilderRuntime: .NET 9.0(Runtime=.NET 9.0, Toolchain=net9.0)
diff --git a/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.csv b/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.csv
index fa53fcc..95035c0 100644
--- a/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.csv
+++ b/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.csv
@@ -1,12 +1,37 @@
-Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Categories,Mean,Error,StdDev,Ratio,RatioSD,Gen0,Allocated,Alloc Ratio
-CSharp_TenBindsAsync_TaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,TaskBuilder",3.650 μs,0.0702 μs,0.0690 μs,1.00,0.00,-,112 B,1.00
-CSharp_TenBindsAsync_ValueTaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,ValueTaskBuilder",3.533 μs,0.0527 μs,0.0467 μs,0.97,0.02,0.0039,120 B,1.07
-FSharp_TenBindsAsync_AsyncBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,AsyncBuilder",70.017 μs,1.3369 μs,1.7383 μs,19.18,0.61,0.4286,8224 B,73.43
-FSharp_TenBindsAsync_CancellableTaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder",3.607 μs,0.0167 μs,0.0130 μs,0.99,0.02,0.0117,200 B,1.79
-FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask",3.725 μs,0.0737 μs,0.1081 μs,1.02,0.04,0.0117,200 B,1.79
-FSharp_TenBindsAsync_CancellableValueTaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder",3.549 μs,0.0698 μs,0.1378 μs,0.97,0.04,0.0117,216 B,1.93
-FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask",3.684 μs,0.0689 μs,0.0575 μs,1.01,0.02,0.0117,216 B,1.93
-FSharp_TenBindsAsync_PlyTaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyTaskBuilder",4.137 μs,0.0235 μs,0.0220 μs,1.13,0.03,0.0430,672 B,6.00
-FSharp_TenBindsAsync_PlyValueTaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyValueTaskBuilder",3.869 μs,0.0393 μs,0.0329 μs,1.06,0.02,0.0391,672 B,6.00
-FSharp_TenBindsAsync_TaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,TaskBuilder",3.574 μs,0.0243 μs,0.0227 μs,0.98,0.02,0.0078,128 B,1.14
-FSharp_TenBindsAsync_ValueTaskBuilder,DefaultJob,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,ValueTaskBuilder",3.510 μs,0.0669 μs,0.0626 μs,0.96,0.03,0.0078,136 B,1.21
+Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Categories,Mean,Error,StdDev,Median,Ratio,RatioSD,Gen0,Allocated,Alloc Ratio
+CSharp_TenBindsAsync_TaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,TaskBuilder","1,751.75 ns",29.396 ns,26.059 ns,"1,753.48 ns",1.00,0.02,0.0059,96 B,1.00
+CSharp_TenBindsAsync_TaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,TaskBuilder","3,092.20 ns",27.744 ns,25.952 ns,"3,091.11 ns",1.77,0.03,0.0039,96 B,1.00
+CSharp_TenBindsAsync_TaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,TaskBuilder","1,834.57 ns",25.990 ns,21.703 ns,"1,830.35 ns",1.05,0.02,0.0059,96 B,1.00
+CSharp_TenBindsAsync_ValueTaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,ValueTaskBuilder","1,712.46 ns",30.305 ns,28.347 ns,"1,711.13 ns",0.98,0.02,0.0059,104 B,1.08
+CSharp_TenBindsAsync_ValueTaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,ValueTaskBuilder","3,240.03 ns",40.618 ns,37.994 ns,"3,253.56 ns",1.85,0.03,0.0039,104 B,1.08
+CSharp_TenBindsAsync_ValueTaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,CSharp,ValueTaskBuilder","1,833.63 ns",35.187 ns,36.134 ns,"1,832.96 ns",1.05,0.03,0.0000,104 B,1.08
+FSharp_TenBindsAsync_AsyncBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,AsyncBuilder","66,442.37 ns","1,307.659 ns","2,255.647 ns","66,185.64 ns",37.94,1.39,0.5000,8224 B,85.67
+FSharp_TenBindsAsync_AsyncBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,AsyncBuilder","66,537.54 ns","1,329.078 ns","1,728.177 ns","66,392.16 ns",37.99,1.11,0.5000,8224 B,85.67
+FSharp_TenBindsAsync_AsyncBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,AsyncBuilder","66,016.06 ns","1,299.261 ns","1,734.476 ns","66,112.80 ns",37.69,1.11,0.5000,8224 B,85.67
+FSharp_TenBindsAsync_CancellableTaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder","2,271.16 ns",36.283 ns,33.939 ns,"2,263.82 ns",1.30,0.03,0.0508,808 B,8.42
+FSharp_TenBindsAsync_CancellableTaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder","3,801.54 ns",40.073 ns,35.523 ns,"3,805.37 ns",2.17,0.04,0.0508,808 B,8.42
+FSharp_TenBindsAsync_CancellableTaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder","2,319.93 ns",46.002 ns,59.816 ns,"2,306.85 ns",1.32,0.04,0.0508,808 B,8.42
+FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask","2,277.13 ns",31.623 ns,29.581 ns,"2,285.44 ns",1.30,0.02,0.0508,808 B,8.42
+FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask","4,055.86 ns",78.832 ns,122.732 ns,"4,061.96 ns",2.32,0.08,0.0469,808 B,8.42
+FSharp_TenBindsAsync_CancellableTaskBuilder_BindCancellableTask,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableTaskBuilder,BindCancellableValueTask","2,294.96 ns",38.003 ns,37.324 ns,"2,289.55 ns",1.31,0.03,0.0508,808 B,8.42
+FSharp_TenBindsAsync_CancellableValueTaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder","2,185.30 ns",42.414 ns,84.706 ns,"2,166.34 ns",1.25,0.05,0.0508,824 B,8.58
+FSharp_TenBindsAsync_CancellableValueTaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder","3,892.08 ns",76.254 ns,109.361 ns,"3,938.84 ns",2.22,0.07,0.0469,824 B,8.58
+FSharp_TenBindsAsync_CancellableValueTaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder","2,162.41 ns",42.923 ns,58.754 ns,"2,146.76 ns",1.23,0.04,0.0508,824 B,8.58
+FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask","2,140.32 ns",37.943 ns,37.265 ns,"2,147.44 ns",1.22,0.03,0.0508,824 B,8.58
+FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask","3,769.80 ns",48.606 ns,43.088 ns,"3,769.12 ns",2.15,0.04,0.0469,824 B,8.58
+FSharp_TenBindsAsync_CancellableValueTaskBuilder_BindCancellableTask,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,CancellableValueTaskBuilder,BindCancellableValueTask","2,187.57 ns",43.675 ns,92.126 ns,"2,166.04 ns",1.25,0.06,0.0508,824 B,8.58
+FSharp_TenBindsAsync_PlyTaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyTaskBuilder","2,092.93 ns",41.405 ns,46.021 ns,"2,078.76 ns",1.20,0.03,0.0391,656 B,6.83
+FSharp_TenBindsAsync_PlyTaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyTaskBuilder","3,872.86 ns",76.358 ns,101.936 ns,"3,852.86 ns",2.21,0.07,0.0391,656 B,6.83
+FSharp_TenBindsAsync_PlyTaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyTaskBuilder","2,212.33 ns",42.266 ns,39.535 ns,"2,200.96 ns",1.26,0.03,0.0391,656 B,6.83
+FSharp_TenBindsAsync_PlyValueTaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyValueTaskBuilder","2,103.78 ns",31.121 ns,29.111 ns,"2,108.12 ns",1.20,0.02,0.0391,656 B,6.83
+FSharp_TenBindsAsync_PlyValueTaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyValueTaskBuilder","3,812.21 ns",71.774 ns,67.138 ns,"3,799.48 ns",2.18,0.05,0.0391,656 B,6.83
+FSharp_TenBindsAsync_PlyValueTaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,PlyValueTaskBuilder","2,259.37 ns",49.481 ns,145.119 ns,"2,208.15 ns",1.29,0.08,0.0391,656 B,6.83
+FSharp_TenBindsAsync_TaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,TaskBuilder","1,797.68 ns",26.170 ns,21.853 ns,"1,798.49 ns",1.03,0.02,0.0059,112 B,1.17
+FSharp_TenBindsAsync_TaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,TaskBuilder","3,386.05 ns",66.148 ns,61.875 ns,"3,383.73 ns",1.93,0.04,0.0039,112 B,1.17
+FSharp_TenBindsAsync_TaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,TaskBuilder","1,768.78 ns",22.848 ns,21.372 ns,"1,765.14 ns",1.01,0.02,0.0059,112 B,1.17
+FSharp_TenBindsAsync_TaskBuilderRuntime,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,TaskBuilderRuntime",42.35 ns,0.378 ns,0.353 ns,42.31 ns,0.02,0.00,0.0198,312 B,3.25
+FSharp_TenBindsAsync_TaskBuilderRuntime,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,TaskBuilderRuntime",NA,NA,NA,NA,?,?,NA,NA,?
+FSharp_TenBindsAsync_TaskBuilderRuntime,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,TaskBuilderRuntime",NA,NA,NA,NA,?,?,NA,NA,?
+FSharp_TenBindsAsync_ValueTaskBuilder,.NET 10.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 10.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,ValueTaskBuilder","2,254.48 ns",42.740 ns,99.056 ns,"2,239.49 ns",1.29,0.06,0.0469,744 B,7.75
+FSharp_TenBindsAsync_ValueTaskBuilder,.NET 8.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,ValueTaskBuilder","3,840.81 ns",40.324 ns,37.719 ns,"3,838.74 ns",2.19,0.04,0.0469,744 B,7.75
+FSharp_TenBindsAsync_ValueTaskBuilder,.NET 9.0,False,Default,Default,Default,Default,Default,Default,111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,"AsyncBinds,FSharp,ValueTaskBuilder","2,179.59 ns",43.274 ns,44.439 ns,"2,175.81 ns",1.24,0.03,0.0469,744 B,7.75
diff --git a/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.html b/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.html
index bb246cf..2fe4a5a 100644
--- a/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.html
+++ b/benchmarks/FSharpBenchmarks/BenchmarkDotNet.Artifacts/results/IcedTasks.Benchmarks.AsyncCompletionBenchmarks-report.html
@@ -2,7 +2,7 @@
-IcedTasks.Benchmarks.AsyncCompletionBenchmarks-20230708-120148
+IcedTasks.Benchmarks.AsyncCompletionBenchmarks-20251119-002710