PinnedOlivier CoanetStatic and non-static interface member calls in .NET: they are not the sameA comparison of the mechanisms behind interface method invocations in .NETFeb 3, 2023Feb 3, 2023
Olivier CoanetTracing allocations with EventPipe part 3 — Tracing without dotnet-traceUsing DiagnosticsClient internal code to replace dotnet-trace in order to implement a real time, lightweight allocation detectorSep 15Sep 15
Olivier CoanetTracing allocations with EventPipe part 2 — Reading call stacks without TraceLogUncovering TraceLog call stack resolving and hacking TraceEvent to implement a real time, lightweight allocation detectorJul 30Jul 30
Olivier CoanetTracing allocations with EventPipe part 1 — dotnet-trace and TraceLogUsing dotnet-trace to run automatic allocation detection on an event-sourced applicationJul 24Jul 24
Olivier CoanetDisruptor and Tasks — Why you can have async event handlersThe .NET Disruptor is finally integrating Task-based APIs!Oct 5, 2022Oct 5, 2022
Olivier CoanetDisruptor and Tasks — Why you cannot have async event handlersC# 5 introduced the async / await keywords, popularizing the usage of the Task type and increasing the interest in asynchronous…Dec 16, 2021Dec 16, 2021
Olivier CoanetBenchmarking Adventures Part 1 — Avoiding boxingMicro-optimizations in a one-line methodAug 6, 2019Aug 6, 2019
Olivier CoanetImproving .NET Disruptor performance — Part 3: Introducing the ValueDisruptorThis is the third part of a series of posts on the .NET Disruptor performance: - Part 1. - Part 2.Aug 27, 2018Aug 27, 2018
Olivier CoanetTesting without mockingThis article is a response to a question by @jrobertoaraujo from my previous post. Here is an excerpt of the question:Jun 26, 2018Jun 26, 2018
Olivier CoanetImproving .NET Disruptor performance — Part 2This is the second part of a series of posts on the .NET Disruptor performance: - Part 1. - Part 3.Apr 24, 20182Apr 24, 20182