Human beings like categorizing things. Categories make things simpler, much easier to grasp. The same is applied to events when we assign them to a specific epoch or a period of our history. Can we use epochs in computer systems and programming? Would they be useful? Would they make things more complex or simpler? Let's … Continue reading Epoch based programming
Why are they still working on the whole async-await thing? What is Task, Async Await, ValueTask, IValueTaskSource ? How to keep your sanity in modern .NET world?
TL;DR Sometimes System.Collections.Concurrent provide not enough methods to squeeze the top performance out of them. Below you can find a small extension method that will make your life easier in some cases Concurrent dictionary The concurrent dictionary provides a lot of useful methods. You can TryAdd, AddOrUpdate. Additionally, you can use TryUpdate which provides a … Continue reading Concurrent conditional deletes
Yesterday, I gave my Extreme Concurrency talk at rg-dev user group. After the talk I had some really interesting discussions and was asked to provide some resources in the low level concurrency I was talking about. So here's the list of books, talks and blog posts that can help you to ramp up your skills … Continue reading Concurrency – ramp up your skills
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. Producer consumer If you take a look at the IRingBuffer you'll see Write/Read methods. These two are responsible for producing/consuming or writing/reading messages to the buffer in FIFO way. What are … Continue reading Producer – consumer relationship