High-performance code design patterns in C#. Konrad Kokosa .NET Fest 2019
HTML-код
- Опубликовано: 23 янв 2020
- The talk from .NET Fest conference in Kyiv, Ukraine.
Presentation: prodotnetmemory.com/slides/Pe...
Fb: / dotnetfest
Website: dotnetfest.com/
More and more effort is being seen in .NET ecosystem put into the performance. Quite often we are seeing a new benchmark or blog post about memory allocations being reduced or overall throughput is increased. But how all this is achieved? Can any common code patterns be recognized, named and summarized in a modern C#, at the times of C# 8.0 and .NET Core 3.0/.NET 5? Can we provide a kind of Gang Of Four "design patterns" counterpart in the context of performance? As I believe so, in this talk a propose such a list of patterns, altogether with the rationale behind them and practical use cases. Please, feel invited to the world of common ways of using stackallocs, Span of T, pipelines, parallel processing and more.
Great talk. I hope you get a chance to give the full version soon!
Very good presentation, thanks!
GREAT talk, thank you!
Awesome talk, really good and easy-to-understand overview, thank you 👍
This is gold
Great talk
Excellent! Thanks.
Thanks :)
this is one my fav video ever :)
Thank you!
Jah Bless! Knoweledge is power!
This is a great speech! A lot of useful information as for me
you probably dont care but does anyone know of a method to log back into an Instagram account..?
I somehow forgot my login password. I appreciate any assistance you can give me
@Titus Ariel Instablaster =)
@Adriel Derek Thanks so much for your reply. I got to the site thru google and Im trying it out now.
I see it takes a while so I will reply here later when my account password hopefully is recovered.
@Adriel Derek It worked and I actually got access to my account again. Im so happy!
Thank you so much, you really help me out!
@Titus Ariel Happy to help :)
It will be very hard for C# to truly compete with "High Performance scnenarios" like needed in embeded systems but this might be sufficiant for game dev.
C# Unity use to suck so hard and they have come a long way up. That one part about "array of structures" made it worth it to watch.
There is one very important point he missed though...
--> .Net introduced a new heap section called "pinned object heap".
It avoids fragmenting the heap which is the problem when temporaly pinning arrays with "fixed" statments, and is perfect for deeling with buffers in unsafe context.
Although it remains significantly slower than static and unmanaged memory, I have high hopes than one day we will be able to pin complex objects
and not only primitve array data types.
PS : If your a web/cloud dev I might have wasted your time beg my pardon :'P
if I got it right, these patterns seems to be usable on in some advanced programing scenarios , not applicable to daily/ normal programing scenarios for data-driven applications.
Typically yes, as for typical LoB app the default performance is good enough!
Awesome really.
👌👌👌👍
Now we have SkipLocalsInit attribute
It's shame they didn't give this guy the time for the full presentation, instead they are giving one hour to Jimmy Bogart to talk again some irrelevant bullshit about Microservices...
You should read his book.
The accent...
eastern european
@@typedef_ Indyyyed ;)
High performance in a GC language lol
Yes. You can reduce GC pressure by allocating more on the stack instead of the heap -> more performance. Also C# is not slow even though it has a GC.
Some people laugh, others know better. 🤷
Thumbnail of this video looked like a female programmer was presenting!
Now I have even longer hairs ;)
Have to confess, that's why I'm here :D