From 91250ef6b183f6bacf5104a1f6c4f8c17b1c7018 Mon Sep 17 00:00:00 2001 From: Ben Mazzarol Date: Sun, 14 Jan 2024 22:58:35 +0800 Subject: [PATCH] chore: final review pass --- Icicle.Docs/articles/performance.md | 12 ++++++------ Icicle.Docs/index.md | 2 +- README.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Icicle.Docs/articles/performance.md b/Icicle.Docs/articles/performance.md index ff3ef7e..9e6c224 100644 --- a/Icicle.Docs/articles/performance.md +++ b/Icicle.Docs/articles/performance.md @@ -4,9 +4,9 @@ It adds the following overhead, -1. A task scope is allocated - 1. A task scope allocates a concurrent queue - 2. A task scope allocates a run handle +1. A task scope is allocated, and allocates, + 1. a concurrent queue + 2. a run handle 2. Each child task allocates a handle and a place in the concurrent queue 3. A task scope run allocates, 1. a cancellation token source @@ -15,9 +15,9 @@ It adds the following overhead, Compared with a simple Task.WhenAll it produces the following, - + -```shell +``` BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish) Intel Core i7-4712HQ CPU 2.30GHz (Haswell), 1 CPU, 8 logical and 4 physical cores .NET SDK 8.0.101 @@ -39,7 +39,7 @@ Intel Core i7-4712HQ CPU 2.30GHz (Haswell), 1 CPU, 8 logical and 4 physical core | **BasicWhenAll** | **1000** | **4** | **12.01 ms** | **0.031 ms** | **0.028 ms** | **1.00** | **0.00** | **31.2500** | **-** | **98.7 KB** | **1.00** | | TaskScopeWhenAll | 1000 | 4 | 12.11 ms | 0.079 ms | 0.074 ms | 1.01 | 0.01 | 93.7500 | 31.2500 | 329.27 KB | 3.34 | - + For the features it provides I think the cost is acceptable. However if you are writing high performance code, or need this behaviour on a diff --git a/Icicle.Docs/index.md b/Icicle.Docs/index.md index 3ad4cc2..b77edaf 100644 --- a/Icicle.Docs/index.md +++ b/Icicle.Docs/index.md @@ -13,7 +13,7 @@ [![CD Build](https://github.com/bmazzarol/Icicle/actions/workflows/cd-build.yml/badge.svg)](https://github.com/bmazzarol/Icicle/actions/workflows/cd-build.yml) [![Check Markdown](https://github.com/bmazzarol/Icicle/actions/workflows/check-markdown.yml/badge.svg)](https://github.com/bmazzarol/Icicle/actions/workflows/check-markdown.yml) -Structured Concurrency for C# and dotnet +:snowflake: Structured Concurrency for C# and dotnet --- diff --git a/README.md b/README.md index 242df9e..6ab026c 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ [![CD Build](https://github.com/bmazzarol/Icicle/actions/workflows/cd-build.yml/badge.svg)](https://github.com/bmazzarol/Icicle/actions/workflows/cd-build.yml) [![Check Markdown](https://github.com/bmazzarol/Icicle/actions/workflows/check-markdown.yml/badge.svg)](https://github.com/bmazzarol/Icicle/actions/workflows/check-markdown.yml) -Structured Concurrency for C# and dotnet +:snowflake: Structured Concurrency for C# and dotnet