Replacing a generic dictionary
There is a moment, when you profile your high-throughput system and you hit the wall. And it’s not your code but some BCL elements. That’s what happened in RampUp when...
There is a moment, when you profile your high-throughput system and you hit the wall. And it’s not your code but some BCL elements. That’s what happened in RampUp when...
There is an urge of making things automagically. For instance, when you have a DDD Aggregate, one could consider automatic publishing all the commands as the service API. As The...
In the last post about the RampUp library I covered on of the foundations: IRingBuffer. Now I’d like to describe the contract it fulfills.
This post is written write after reading the @liveweird entry about How not to hurt yourself while building a RESTful API. If you don’t know it, it’s probably a good...
As we’re moving towards the core of RampUp, before visiting the most important parts we need to discuss one abstraction provided in the library named IUnsafeBuffer. The abstraction provides an...
marca Warszawska Grupa .NET obchodzić będzie okrągłe, dziesiąte urodziny. Z tego powodu przyszykowaliśmy dla uczestników małą niespodziankę. Poza niespodzianką, nie obędzie się bez dwóch prelekcji. Pierwsza autorstwa Maćka Aniserowicza, druga...
In the last post I introduced *Atomic** wrappers. They are extremely cheap to use as they’re stack allocated (the structs, not the values they point to) and wrap all the...
In the two recent posts we’ve build strong/relaxed foundations to take a very first look at some parts of RampUp library.
In the previous post we’ve built up some basic foundations for total ordering of CPU instructions. It was mentioned that this total ordering is much too strict and if we...
RampUp is aimed at providing a very performant and aligned to nowadays hardware abstraction over modern CPUs. Although for using it one doesn’t have to know all the corner cases...