Kevin Gosse (@kookiz) 's Twitter Profile
Kevin Gosse

@kookiz

Bluesky: @kevingosse.net
Software developer at Datadog, passionate about .NET, performance, and debugging. MVP. Co-author of Pro .NET Memory Management (2nd ed)

ID: 19065774

linkhttps://minidump.net calendar_today16-01-2009 13:21:34

4,4K Tweet

4,4K Takipçi

111 Takip Edilen

Kevin Gosse (@kookiz) 's Twitter Profile Photo

Very happy to see out-of-process happening. This is not going to magically fix R#'s performance, but it's an important step to get there. Please note that this is a preview, many features are not supported yet and others might break, but your feedback is very much appreciated.

Kevin Gosse (@kookiz) 's Twitter Profile Photo

sourceof.net now redirects to github.com/microsoft/refe…. I really hope Microsoft will reconsider this change, code navigation on Github isn't even remotely as good as what we had before (basically source.dot.net but for .NET Framework)

Kevin Gosse (@kookiz) 's Twitter Profile Photo

I released v2.0.0 of Silhouette, my library to write .NET profilers in C#. The main change is the addition of IMetadataImport2. There are a few small breaking changes, so I'm embracing semver and bumping the major version number. github.com/kevingosse/Sil…

Kevin Gosse (@kookiz) 's Twitter Profile Photo

I'm experimenting with interfacing dnlib with my Silhouette library. The .NET profiling API provides almost no helper at all to manipulate IL, it just exposes the method body as a binary blob. Having access to dnlib greatly simplifies IL rewriting. github.com/kevingosse/Sil…

I'm experimenting with interfacing dnlib with my Silhouette library. The .NET profiling API provides almost no helper at all to manipulate IL, it just exposes the method body as a binary blob. Having access to dnlib greatly simplifies IL rewriting.

github.com/kevingosse/Sil…
Kevin Gosse (@kookiz) 's Twitter Profile Photo

I really enjoyed participating to the last 2codeOrNot2code, so I'm happy to repeat the experience. This time, we will have some fun with functions, unveiling interesting details about what happens when you call them. If you like to understand how things work, don't miss it!

Kevin Gosse (@kookiz) 's Twitter Profile Photo

One thing I like about working on a new codebase is finding all those low-hanging fruits, optimizations that have a significant impact for a relatively low effort. Here, before/after, squashing ~140 MB of heap allocations from Resharper licensing code.

One thing I like about working on a new codebase is finding all those low-hanging fruits, optimizations that have a significant impact for a relatively low effort.

Here, before/after, squashing ~140 MB of heap allocations from Resharper licensing code.
Kevin Gosse (@kookiz) 's Twitter Profile Photo

Working on performance, it's a lot of time wasted on dead-ends and getting the impression of making no progress, and then suddenly managing to shave 10 seconds of CPU time off R# startup.

Working on performance, it's a lot of time wasted on dead-ends and getting the impression of making no progress, and then suddenly managing to shave 10 seconds of CPU time off R# startup.