Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* Fix ReadFromImmutable's CopyToTailFromReadOnly loop to catch when the source address has dropped below HeadAddress

* Fix assert in ReadCacheEvict

* Fix ReadFromImmutable to not sharelock if useStartAddress, as these records are Sealed as part of normal operations

* Add comment

* After 5 years, say goodbye to ShiftClosedUntilAddress() and LastClosedUntilAddress. You will not be missed.

* - CompleteTwoPhaseCopyToTail returns false if source address falls below HeadAddress due to SWURIC epoch refresh
- Make sure Internal(Read|RMW|Upsert|Delete|Lock) call SWURIC in all below-HeadAddress cases (don't rely on >= BeginAddress as log truncation may make the record fall below this)
- Add Thread.Yield() calls and some comments to OnPagesClosed
- Change several RETRY_NOW to RETRY_LATER
- Add commandline parameters and new options for NoReadCTT and ReadCache to MemOnlyCache


Co-authored-by: Badrish Chandramouli <>

Git stats


Failed to load latest commit information.


NuGet Build Status Gitter


Managing large application state easily, resiliently, and with high performance is one of the hardest problems in the cloud today. The FASTER project offers two artifacts to help tackle this problem.

  • FASTER Log is a high-performance concurrent persistent recoverable log, iterator, and random reader library in C#. It supports very frequent commit operations at low latency, and can quickly saturate disk bandwidth. It supports both sync and async interfaces, handles disk errors, and supports checksums.

  • FASTER KV is a concurrent key-value store + cache (available in C# and C++) that is designed for point lookups and heavy updates. FASTER supports data larger than memory, by leveraging fast external storage (local or cloud). It also supports consistent recovery using a fast non-blocking checkpointing technique that lets applications trade-off performance for commit latency.

Both FASTER KV and FASTER Log offer orders-of-magnitude higher performance than comparable solutions, on standard workloads. Start learning about FASTER, its unique capabilities, and how to get started at our official website:


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.