BitFaster.Caching
BitFaster.Caching copied to clipboard
High performance, thread-safe in-memory caching primitives for .NET
Below the *BlockAvx benchmark runs on the ARM64 intrinsics, FlatAVX is not implemented. ### Mac M2 Repros on commit 7d7d023, but not newest. ``` BenchmarkDotNet v0.13.12, macOS Sonoma 14.5 (23F79)...
With changes ([78dfea8](https://github.com/bitfaster/BitFaster.Caching/pull/597/commits/78dfea89eae07adcbe500819b58bef0d77807a61))  
Make this scriptable, so that an unattended machine can: - check out main - Run sizeexec.bat - Run baseline.bat - checkout branch x - Run sizeexec.bat - Run compare.bat Compare.bat...
Bumps [Plotly.NET](https://github.com/plotly/Plotly.NET) from 4.2.0 to 5.0.0. Release notes Sourced from Plotly.NET's releases. Plotly.NET v5.0.0 Major release with lots of bug fixes, improvements, and upstream feature additions from plotly.js. Many changes...
Bumps [Plotly.NET.ImageExport](https://github.com/plotly/Plotly.NET) and [Plotly.NET](https://github.com/plotly/Plotly.NET). These dependencies needed to be updated together. Updates `Plotly.NET.ImageExport` from 5.0.1 to 6.0.0 Commits See full diff in compare view Updates `Plotly.NET` from 4.2.0 to 5.0.0...
i.e. if we know or approx the memory usage of each entry in `Mb` and want to bound the cache to `X Mb`. I see there's a fixed capacity internally...
Current AVX2 vectorized code doesn't have much of an advantage on .NET8 and .NET9. We can gain some speed by using the pinned object heap introduced in .NET5 and eliminating...
This enables better packing (thus lower memory usage) if key/value is smaller than 8 bytes on 64bit platforms. Common case is not affected, but those with irregular key/value sizes may...
See: https://joeduffyblog.com/2009/01/08/some-performance-implications-of-cas-operations/
When updating a large struct, instead of updating in place, we can instead create a new node. Since nodes are not updated, no tearing can occur. Time based expiry is...