Skip to content

Commit

Permalink
Change comparison charts
Browse files Browse the repository at this point in the history
  • Loading branch information
TheAngryByrd committed Jan 31, 2024
1 parent 2090b7c commit f3ba4f0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ This library contains additional [computation expressions](https://docs.microsof
| F# AsyncEx | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | tailcalls | implicit | implicit | No | Yes |
| F# ParallelAsync | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | tailcalls | implicit | implicit | Yes | No |
| F# Task/C# Task | FSharp.Core | netstandard2.0 | Hot | Multiple | once-start | no tailcalls | explicit | explicit | No | Yes |
| F# ValueTask | IcedTasks | netstandard2.1 | Hot | Once | once-start | no tailcalls | explicit | explicit | Yes | Yes |
| F# ValueTask | IcedTasks | netstandard2.0 | Hot | Once | once-start | no tailcalls | explicit | explicit | Yes | Yes |
| F# ColdTask | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | no tailcalls | explicit | explicit | Yes | Yes |
| F# CancellableTask | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | no tailcalls | implicit | implicit | Yes | Yes |
| F# CancellableValueTask | IcedTasks | netstandard2.1 | Cold | Once | multiple | no tailcalls | implicit | implicit | Yes | Yes |
| F# CancellableValueTask | IcedTasks | netstandard2.0 | Cold | Once | multiple | no tailcalls | implicit | implicit | Yes | Yes |

- <sup>1</sup> - [Computation Expression](https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/computation-expressions)
- <sup>2</sup> - Which [Nuget](https://www.nuget.org/) package do they come from
Expand Down
20 changes: 11 additions & 9 deletions docsSrc/Explanations/Comparison-between-different-Async-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ index: 1



| Computation Expression<sup>1</sup> | Library<sup>2</sup> | TFM<sup>3</sup> | Hot/Cold<sup>4</sup> | Multiple-Awaits<sup>5</sup> | Multi-start<sup>6</sup> | Tailcalls<sup>7</sup> | CancellationToken propagation<sup>8</sup> | Cancellation checks<sup>9</sup> | Parallel when using and!<sup>10</sup> |
|------------------------------------|---------------------|-----------------|----------------------|-----------------------------|-------------------------|-----------------------|-------------------------------------------|---------------------------------|--------------------------------------|
| F# Async | FSharp.Core | netstandard2.0 | Cold | multiple | multiple | tailcalls | implicit | implicit | No |
| F# ParallelAsync | IcedTasks | netstandard2.0 | Cold | multiple | multiple | tailcalls | implicit | implicit | Yes |
| F# Task/C# Task | FSharp.Core | netstandard2.0 | Hot | multiple | once-start | no tailcalls | explicit | explicit | No |
| F# ValueTask | IcedTasks | netstandard2.1 | Hot | once | once-start | no tailcalls | explicit | explicit | Yes |
| F# ColdTask | IcedTasks | netstandard2.0 | Cold | multiple | multiple | no tailcalls | explicit | explicit | Yes |
| F# CancellableTask | IcedTasks | netstandard2.0 | Cold | multiple | multiple | no tailcalls | implicit | implicit | Yes |
| F# CancellableValueTask | IcedTasks | netstandard2.1 | Cold | one | multiple | no tailcalls | implicit | implicit | Yes |
| Computation Expression<sup>1</sup> | Library<sup>2</sup> | TFM<sup>3</sup> | Hot/Cold<sup>4</sup> | Multiple Awaits <sup>5</sup> | Multi-start<sup>6</sup> | Tailcalls<sup>7</sup> | CancellationToken propagation<sup>8</sup> | Cancellation checks<sup>9</sup> | Parallel when using and!<sup>10</sup> | use IAsyncDisposable <sup>11</sup> |
|------------------------------------|---------------------|-----------------|----------------------|------------------------------|-------------------------|-----------------------|-------------------------------------------|---------------------------------|---------------------------------------|------------------------------------|
| F# Async | FSharp.Core | netstandard2.0 | Cold | Multiple | multiple | tailcalls | implicit | implicit | No | No |
| F# AsyncEx | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | tailcalls | implicit | implicit | No | Yes |
| F# ParallelAsync | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | tailcalls | implicit | implicit | Yes | No |
| F# Task/C# Task | FSharp.Core | netstandard2.0 | Hot | Multiple | once-start | no tailcalls | explicit | explicit | No | Yes |
| F# ValueTask | IcedTasks | netstandard2.0 | Hot | Once | once-start | no tailcalls | explicit | explicit | Yes | Yes |
| F# ColdTask | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | no tailcalls | explicit | explicit | Yes | Yes |
| F# CancellableTask | IcedTasks | netstandard2.0 | Cold | Multiple | multiple | no tailcalls | implicit | implicit | Yes | Yes |
| F# CancellableValueTask | IcedTasks | netstandard2.0 | Cold | Once | multiple | no tailcalls | implicit | implicit | Yes | Yes |

- <sup>1</sup> - [Computation Expression](https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/computation-expressions)
- <sup>2</sup> - Which [Nuget](https://www.nuget.org/) package do they come from
Expand All @@ -30,3 +31,4 @@ index: 1
- <sup>8</sup> - `CancellationToken` is propagated to all types the support implicit `CancellatationToken` passing. Calling `cancellableTask { ... }` nested inside `async { ... }` (or any of those combinations) will use the `CancellationToken` from when the code was started.
- <sup>9</sup> - Cancellation will be checked before binds and runs.
- <sup>10</sup> - Allows parallel execution of the asynchronous code using the [Applicative Syntax](https://docs.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-50#applicative-computation-expressions) in computation expressions.
- <sup>11</sup> - Allows `use` of `IAsyncDisposable` with the computation expression. See [IAsyncDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.iasyncdisposable) for more info.

0 comments on commit f3ba4f0

Please sign in to comment.