Namespace KZDev.PerfUtils
Classes
- InterlockedOps
A collection of helper methods for atomic operations.
- MemoryStreamBrotli
Provides methods for compressing and decompressing data into and out of MemoryStreamSlim instances using the Brotli compression algorithm.
- MemoryStreamBrotliOptions
Provides compression options to be used with Brotli compression operations.
- MemoryStreamBrotliOptionsExtensions
Extension methods for MemoryStreamBrotliOptions instances.
- MemoryStreamDeflate
Provides methods for compressing and decompressing data into and out of MemoryStreamSlim instances using the Deflate compression algorithm.
- MemoryStreamDeflateOptions
Provides compression options to be used with Deflate compression operations.
- MemoryStreamDeflateOptionsExtensions
Extension methods for MemoryStreamDeflateOptions instances.
- MemoryStreamGZip
Provides methods for compressing and decompressing data into and out of MemoryStreamSlim instances using the GZip compression algorithm.
- MemoryStreamGZipOptions
Provides compression options to be used with GZip compression operations.
- MemoryStreamGZipOptionsExtensions
Extension methods for MemoryStreamGZipOptions instances.
- MemoryStreamSlim
MemoryStreamSlim is a memory stream that is designed to be more memory efficient, and often times faster than the standard MemoryStream class. For relatively small size streams, this utilizes a specialized pool of small buffers for the backing memory, which can reduce the number of allocations and the amount of memory used; and for larger streams, it uses a list of re-usable buffers to store the contents of the stream that are allocated by an internally managed buffer pool that is designed to minimize GC memory traffic pressure, by allocating directly from the large object heap, and re-using buffers as much as possible.
This is only designed to replace MemoryStream use cases where the stream does not wrap an existing specific byte array. If an existing byte array buffer is provided on creation, that array will be used as the backing store, and the MemoryStreamSlim will simply wrap a standard MemoryStream to provide the same functionality as the standard MemoryStream.
- MemoryStreamSlimOptionsExtensions
Extension methods for MemoryStreamSlimOptions instances.
- MemoryStreamZLib
Provides methods for compressing and decompressing data into and out of MemoryStreamSlim instances using the ZLib compression algorithm.
- MemoryStreamZLibBaseOptions
Options for how to handle compression operations with a MemoryStreamSlim that utilizes ZLib-Based compression.
- MemoryStreamZLibOptions
Provides compression options to be used with ZLib compression operations.
- MemoryStreamZLibOptionsExtensions
Extension methods for MemoryStreamZLibOptions instances.
- StringBuilderCache
Provides cached reusable StringBuilder instances.
Structs
- MemoryStreamSlimOptions
Options for configuring MemoryStreamSlim instances.
- MemoryStreamSlimSettings
The effective settings for MemoryStreamSlim instances.
- StringBuilderScope
Represents a scope in which a cached Builder instance is retrieved and released back to the cache.
Enums
- MemoryStreamSlimMode
The mode of the memory stream.
- MemoryStreamSlimZeroBufferOption
Options for how to handle memory clearing when a memory buffer is not in use.