Is there a library with a fixed-sized collection, where newly added data is inserted at the start, but if the collection's capacity has reached the size, older data is discarded (but it doesn't move any of the elements around), and that you can also index to?

This page summarizes the projects mentioned and recommended in the original post on /r/csharp

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • CircularBuffer-CSharp

    A simple, single file, implementation of a circular buffer in C#.

  • Ah thanks. I found one here, which looks quite nifty

  • .NET port of LMAX Disruptor

    Port of LMAX Disruptor to .NET

  • You could consider looking at https://github.com/disruptor-net/Disruptor-net.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ArduinoMIDIController

    A thingy that lets you connect potentiometers to an arduino, which spools data to a C# program which parses it into MIDI parameter values which can be sent to a DAW

  • I did end up making my own by using a buffer and index, and just wrapping-around the index between the start and end. And I have yet to learn how to properly do concurrency, so I just added lock(this) almost everywhere :) Here's the code if you want to have a look

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts