Alex Peck

Results 10 comments of Alex Peck

Thanks for the insight, it makes total sense. I'm figuring out how to fit this together - from reading your code in Caffeine you generate a Node class with the...

I hadn't anticipated that. I had thought the opposite might occur - the dropped reads would fail to update the access order+expiry time of a Node, and it would be...

It's good to start out with the fast version and I expect I will learn a lot from it. Your frequency sketch code translated to C# really well and that...

Baseline | Method | Runtime | Mean | Error | StdDev | Ratio | Allocated | |------------------------ |------------------- |----------:|----------:|----------:|------:|----------:| | ConcurrentDictionary | .NET 6.0 | 7.128 ns | 0.1347 ns...

Last piece missing is to defend against frequent updates saturating the write queue. E.g. if the item is updated within 1 second or whatever, don't enqueue/reschedule.

I am the original author of `ConcurrentLru` on which `RCache` is based – so I can give some context on the design goals of the underlying algorithm and its performance...

> Small remark. I realize that we aim primarily for the highly perf, low allocation scenarios (like ConcurrentDictionary). That is a good call. I might use it for many of...

> > From my own experience hacking at it, Bitfaster is a very good caching library, however if you need a portion of the functionality it is better to specialize...

Not able to measure any gain from this on windows or mac, for .Net6 or .net8. Likely the change for the ConcurrentLruCore struct to be embedded/inlined into the parent class...