StreamRegex
A .NET Standard 2.1+ Library to perform string parsing operations on Streams and StreamReaders. Includes Extensions for Regex. (by gfs)
Microsoft.IO.RecyclableMemoryStream
A library to provide pooling for .NET MemoryStream objects to improve application performance. (by Microsoft)
StreamRegex | Microsoft.IO.RecyclableMemoryStream | |
---|---|---|
1 | 10 | |
12 | 2,004 | |
- | 1.2% | |
5.7 | 6.5 | |
6 months ago | 17 days ago | |
C# | C# | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
StreamRegex
Posts with mentions or reviews of StreamRegex.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-17.
Microsoft.IO.RecyclableMemoryStream
Posts with mentions or reviews of Microsoft.IO.RecyclableMemoryStream.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-16.
-
How to improve memory allocation when creating HttpContent
There’s also RecyclableMemoryStream
-
How can I efficiently search for a specific string in a large text file using C#?
Another suggestion to try, there is a tool provided by Microsoft called Microsoft.IO.RecyclableMemoryStream which greatly reduces the amount of memory to garbage collect when streaming large amounts of data.
-
Why is Rust faster than Go for CPU bound tasks?
it's also common, however, that in GC'd languages people end up making their own mini-allocators to avoid producing garbage in the first place. See, for example, https://learn.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1?view=net-6.0, which didn't exist in Net Framework but Net Core added because even with a good GC, not GC'ing is faster than GC'ing. Or check out https://github.com/Microsoft/Microsoft.IO.RecyclableMemoryStream, which is basically recreating the pooling strategy that good Rust allocators also use (albeit with fewer pools because it's less general-purpose).
- Microsoft.IO.RecyclableMemoryStream
-
Is usage of MemoryStream not scalable?
There are some known performance issues when using memorystreams. Microsoft themselves created a nuget package as a drop in replacement: https://github.com/microsoft/Microsoft.IO.RecyclableMemoryStream They talk about some of the issues in the readme, I suggest you take a look and see if anything applies to your use case.
- C# Performance tricks — Reducing heap allocations and execution time
-
Is it better to reuse a memory stream or create a new one if used inside a loop?
If you do need to use MemoryStream a lot or reuse one, I suggest you to use https://github.com/Microsoft/Microsoft.IO.RecyclableMemoryStream it pools MemoryStream for you to optimize things
-
.NET The useful package for a pooling memory streams Microsoft.IO.RecyclableMemoryStream
I had implemented logging of REST API requests to public service and one problem was pooling streams for reading request body. So I have found package Microsoft.IO.RecyclableMemoryStream. I'm using it following manner
- microsoft/Microsoft.IO.RecyclableMemoryStream
- Why should I care about .NET GC?
What are some alternatives?
When comparing StreamRegex and Microsoft.IO.RecyclableMemoryStream you can also consider the following projects:
nlc - Line counter written in C# targeting .NET 6
Apache Lucene - Apache Lucene.NET
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Gigantor - Works in conjunction with System.Text.RegularExpressions.Regex to boost performance, add a replace function, and support gigantic files that exceed RAM
Open.Text.CSV - A set of utilities for reading and writing CSV data in C#.
rust-memchr - Optimized string search routines for Rust.
nodexr - Graphical regular expression editor
fnlc - A line-counter written in C# and using Intrinsics
ripgrep - ripgrep recursively searches directories for a regex pattern while respecting your gitignore
StreamRegex vs nlc
Microsoft.IO.RecyclableMemoryStream vs nlc
StreamRegex vs Apache Lucene
Microsoft.IO.RecyclableMemoryStream vs .NET Runtime
StreamRegex vs Gigantor
Microsoft.IO.RecyclableMemoryStream vs Apache Lucene
StreamRegex vs Open.Text.CSV
Microsoft.IO.RecyclableMemoryStream vs rust-memchr
StreamRegex vs nodexr
Microsoft.IO.RecyclableMemoryStream vs fnlc
StreamRegex vs ripgrep
StreamRegex vs rust-memchr