PersistedConcurrentSortedList 10.1.301

dotnet add package PersistedConcurrentSortedList --version 10.1.301
                    
NuGet\Install-Package PersistedConcurrentSortedList -Version 10.1.301
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PersistedConcurrentSortedList" Version="10.1.301" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PersistedConcurrentSortedList" Version="10.1.301" />
                    
Directory.Packages.props
<PackageReference Include="PersistedConcurrentSortedList" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PersistedConcurrentSortedList --version 10.1.301
                    
#r "nuget: PersistedConcurrentSortedList, 10.1.301"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PersistedConcurrentSortedList@10.1.301
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PersistedConcurrentSortedList&version=10.1.301
                    
Install as a Cake Addin
#tool nuget:?package=PersistedConcurrentSortedList&version=10.1.301
                    
Install as a Cake Tool

PersistedConcurrentSortedList

PersistedConcurrentSortedList is an F# library for ordered key/value storage with on-disk persistence.

It is designed for workloads where:

  • the dataset is loaded once or rebuilt at startup,
  • reads dominate after initialization,
  • only occasional small updates are expected,
  • ordered queries such as FirstLastN* still matter.

Features

  • ordered in-memory index over persisted values
  • Add, Update, Upsert, and Remove
  • TryGetValue, key hashing helpers, and buffered/non-buffered value loading
  • protobuf and FsPickler serialization paths
  • support for F# records and discriminated unions in the value path

Package

NuGet package id:

PersistedConcurrentSortedList

Quick Start

See QuickStart.fsx for a runnable sample.

let pcsl =
    PersistedConcurrentSortedList<string, fstring>(
        20,
        @"c:\pcsl",
        "test",
        PCSLFunHelper<string, fstring>.oFun,
        PCSLFunHelper<string, fstring>.eFun
    )

pcsl.Add("OGC", A [| S "GG" |], 3000) |> ignore
pcsl.Upsert("123456", S "ORZ")

let found, cell = pcsl.TryGetValue("OGC")

Serialization

The library currently supports:

  • FAkka.ProtoBuf.FSharp
  • FAkka.FsPickler
  • FAkka.FsPickler.Json

The protobuf path includes the compatibility handling required by the current fCell2<'T> model used in this repository.

Documentation

Additional design and test documents are under doc/.

Development

Build:

dotnet build PersistedConcurrentSortedList.fsproj

Pack:

dotnet pack PersistedConcurrentSortedList.fsproj -c Release
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on PersistedConcurrentSortedList:

Package Downloads
FAkka.FSI.Supervisor

Package Description

FAkka.Mathnet.Symbolic.withTensorSupported

Package Description

PersistedConcurrentSortedList.IFileSystem

Package Description

FAkka.Mathnet.Symbolic

Package Description

PulseTrade.Comm.Spa

Small Suave + WebSharper SPA shell for key-set based chat, participant, set, and actor views.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.1.301 38 6/20/2026
10.1.300 95 6/7/2026
10.1.201.3 101 6/7/2026
10.1.201.2 557 4/7/2026
10.1.201.1-dgx 185 3/17/2026
10.0.103.2-dgx 117 3/14/2026
10.0.102 348 1/20/2026
10.0.101 427 12/22/2025
9.0.27.320 260 9/11/2025
9.0.27.319 226 8/9/2025
9.0.27.318 260 7/30/2025
9.0.27.317 598 7/21/2025
9.0.27.316 320 7/20/2025
9.0.27.16 223 7/3/2025
9.0.27.15 221 7/3/2025
9.0.27.14 335 4/11/2025
9.0.27.13 231 4/11/2025
9.0.27.12 221 4/6/2025
9.0.27.11 194 4/5/2025
9.0.27.10 229 4/4/2025
Loading failed