BitFaster.Caching icon indicating copy to clipboard operation
BitFaster.Caching copied to clipboard

High performance, thread-safe in-memory caching primitives for .NET

Results 45 BitFaster.Caching issues
Sort by recently updated
recently updated
newest added
trafficstars

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)) ![BitFaster Caching Benchmarks Lfu SketchFrequency-columnchart](https://github.com/bitfaster/BitFaster.Caching/assets/12851828/4887580c-c9ba-4bd5-a997-3cfd99158cb7) ![BitFaster Caching Benchmarks Lfu SketchIncrement-columnchart](https://github.com/bitfaster/BitFaster.Caching/assets/12851828/87f656d5-0772-4a7b-ab99-89c2bbfed2cf)

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...

dependencies

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...

dependencies

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...

enhancement

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...