Tag: Scalability
Synchronisation in .NET – Part 4: Partitioned Locks
In this final instalment of the synchronisation series, we will look at fully scalable solutions to the problem first stated in Part 1: adding monitoring to a high speed app where that 4...
Synchronisation in .NET – Part 3: Spinlocks and Interlocks/Atomics
In the previous instalments (Part 1 and Part 2) of this series, we have drawn some conclusions about both .NET itself and CPU architectures. Here is what we know so far: In this blog I will...
Synchronisation in .NET – Part 2: Racy Data Structures, Padding and False Sharing
In the previous blog post we saw how the lock() statement in .NET scales very poorly when there is a contention on a data structure. It was clear that a performance logging framework that...