Skip to content

Commit 30b15d3

Browse files
committed
Documentation update
1 parent 9c383f2 commit 30b15d3

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

docs/site/articles/concepts.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
Before I answer the question, I would like to raise another question: How does it work differently and more effective than the current `StringBuilder`?
33

44
The basic idea is to use a `ref struct` which enforces that the `ValueStringBuilder` will life on the **stack** instead of the **heap**.
5-
Furthermore we try to use advanced features like `Span<T>` and `ArrayPool` to reduce allocations even further. This will lead to some limitations.
5+
Furthermore we try to use advanced features like `Span<T>` and `ArrayPool` to reduce allocations even further. Because of the way C# / .NET is optimized for those types the `ValueStringBuilder` gains a lot of speed with low allocations.
6+
7+
With this approach some limitations arise. Head over to the [known limitation](xref:known_limitations) to know more.
68

79
## Resources:
810
[Here](https://steven-giesel.com/blogPost/4cada9a7-c462-4133-ad7f-e8b671987896) is my detailed blog post about some of the implementation details.

docs/site/articles/known_limitations.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
uid: known_limitations
3+
---
14
# Known Limitations
25
The base of the `ValueStringBuilder` is a `ref struct`. With that there are certain limitations, which might make it not a good fit for your needs.
36
* `ref struct`s can only live on the **stack** and therefore can not be a field for a **class** or a non **ref struct**.

0 commit comments

Comments
 (0)