.NET port of LMAX Disruptor
ArduinoMIDIController
.NET port of LMAX Disruptor | ArduinoMIDIController | |
---|---|---|
2 | 1 | |
1,165 | 0 | |
0.7% | - | |
7.2 | 0.0 | |
2 months ago | over 2 years ago | |
C# | C# | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
.NET port of LMAX Disruptor
-
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?
You could consider looking at https://github.com/disruptor-net/Disruptor-net.
-
Awesome .NET Performance
I would look at adding LMAX Disruptor to this list. It can run circles around stuff scattered across TPL usages. Doesnt fit every use case, but its really incredible when it does fit. I was able to build a toy project that handles millions of user events per second on a single thread using this.
Getting your application aligned with the NUMA model makes way more difference in performance than anything else.
https://github.com/disruptor-net/Disruptor-net
ArduinoMIDIController
-
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?
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
What are some alternatives?
Akka.net - Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
CircularBuffer-CSharp - A simple, single file, implementation of a circular buffer in C#.
Zebus - A lightweight Peer to Peer Service Bus
protoactor-dotnet - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Orleankka - Functional API for Microsoft Orleans http://orleanscontrib.github.io/Orleankka
FsShelter - Author Apache Storm topologies with F# using statically-typed streams
store-modular-monolith - 🛒 Implementing an “online store” modular monolith application with domain-driven design and CQRS with using in-memory message broker based on .Net Core.
.NEXT Raft
IdGen - Twitter Snowflake-alike ID generator for .Net
MBrace - MBrace Core Libraries & Runtime Foundations
awesome-dot-net-performance - A curated list of awesome .NET Performance books, courses, trainings, conference talks, blogs and most inspiring open source contributors. Inspired by awesome-... stuff.
corert - This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.