https://fiseni.com
If I disable the CacheSignatureProviders, then works each time. Not sure why is cached, but finding the root cause was tedious.
If I disable the CacheSignatureProviders, then works each time. Not sure why is cached, but finding the root cause was tedious.
You'd expect no allocation, but it will allocate for the closure (the DisplayClass).
You'd expect no allocation, but it will allocate for the closure (the DisplayClass).
Anyhow, lesson learned. Never assume an "unreachable" code won't have any effect.
Anyhow, lesson learned. Never assume an "unreachable" code won't have any effect.
This makes me re-evaluate my life :)
This makes me re-evaluate my life :)
Here, I fixed the issue by just creating a local function. Now I'm back to 0 allocs.
It's weird. It means some of the closures of the dead code were instantiated somewhere at the beginning of the method? That breaks all my assumptions :)
Here, I fixed the issue by just creating a local function. Now I'm back to 0 allocs.
It's weird. It means some of the closures of the dead code were instantiated somewhere at the beginning of the method? That breaks all my assumptions :)
learn.microsoft.com/en-us/dotnet...
learn.microsoft.com/en-us/dotnet...
Once you have an internal method, consumers can no longer implement that interface. If they do not include it in their impl, it's a compiler error. But they can't include it either.
#dotnet #csharp
While it can find some stupid and easy mistakes, for more complex code just spits out nonsense.
While it can find some stupid and easy mistakes, for more complex code just spits out nonsense.
This is just the initial thought, still working on the idea.
This is just the initial thought, still working on the idea.
Here are my thoughts posted as a picture :)
#dotnet
Here are my thoughts posted as a picture :)
#dotnet
What is this for the love of god? And hundreds of people chearing this post.
#dotnet
What is this for the love of god? And hundreds of people chearing this post.
#dotnet
Finally under 1 second (down from 42 minutes originally).
Finally under 1 second (down from 42 minutes originally).
Yes, it should be used instead of .Result, but it doesn't save you from deadlocks. All it does, is to properly unwrap the exceptions.
Yes, it should be used instead of .Result, but it doesn't save you from deadlocks. All it does, is to properly unwrap the exceptions.
This is how my timeline looks like. One man show 🤷♂️
This is how my timeline looks like. One man show 🤷♂️
Here is my example.
Here is my example.
But I'm in doubt too. Should we even do it for these types of libraries? I don't know.
But I'm in doubt too. Should we even do it for these types of libraries? I don't know.
Damn, I got old.
Damn, I got old.
It's quite verbose code, but it removed tons of allocations.
#dotnet #aspnetcore
It's quite verbose code, but it removed tons of allocations.
#dotnet #aspnetcore
But I would lie if I said I love netstandard. The issues in old platforms are still present.
But I would lie if I said I love netstandard. The issues in old platforms are still present.