Skip to content

Commit

Permalink
Added more documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
linkdotnet committed Apr 4, 2022
1 parent f4cc20a commit cb1e20f
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
8 changes: 8 additions & 0 deletions docs/site/articles/concepts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# How does it work?
Before I answer the question, I would like to raise another question: How does it work differently and more effective than the current `StringBuilder`?

The basic idea is to use a `ref struct` which enforces that the `ValueStringBuilder` will life on the **stack** instead of the **heap**.
Furthermore we try to use advanced features like `Span<T>` and `ArrayPool` to reduce allocations even further. This will lead to some limitations.

## Resources:
[Here](https://steven-giesel.com/blogPost/4cada9a7-c462-4133-ad7f-e8b671987896) is my detailed blog post about some of the implementation details.
2 changes: 2 additions & 0 deletions docs/site/articles/toc.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
- name: How does it work?
href: concepts.md
- name: Known limitations
href: known_limitations.md
5 changes: 3 additions & 2 deletions docs/site/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,10 @@
"_appTitle": "ValueStringBuilder",
"_description": "The ValueStringBuilder is a fast and low allocating StringBuilder meant for scenarios where every allocation and millisecond is important.",
"_enableSearch": true,
"_appLogoPath": "/images/logo.png",
"_appLogoPath": "images/logo.png",
"_appFaviconPath": "images/logo.png",
"_disableBreadcrumb": true,
"_disableFooter": false
"_disableFooter": true
},
"postProcessors": [],
"markdownEngineName": "markdig",
Expand Down

0 comments on commit cb1e20f

Please sign in to comment.