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.

Комментарии • 34

  • @kyleolsen5441
    @kyleolsen5441 4 года назад +4

    Great talk. I hope you get a chance to give the full version soon!

  • @amosegel2510
    @amosegel2510 2 года назад +1

    Very good presentation, thanks!

  • @Southpaw101
    @Southpaw101 2 года назад

    GREAT talk, thank you!

  • @obiwan_smirnobi
    @obiwan_smirnobi Год назад

    Awesome talk, really good and easy-to-understand overview, thank you 👍

  • @caioavidal
    @caioavidal 3 года назад +3

    This is gold

  • @DrExpresso
    @DrExpresso 3 года назад +1

    Great talk

  • @user-te4io9hm4f
    @user-te4io9hm4f 2 года назад

    Excellent! Thanks.

  • @Mr4hitch
    @Mr4hitch 3 года назад +1

    Thanks :)

  • @vikasdangwal3080
    @vikasdangwal3080 4 года назад +3

    this is one my fav video ever :)

  • @xxdeathxxxxxxxxxxx
    @xxdeathxxxxxxxxxxx 3 года назад +3

    Jah Bless! Knoweledge is power!

  • @TedFanat
    @TedFanat 3 года назад +3

    This is a great speech! A lot of useful information as for me

    • @titusariel84
      @titusariel84 2 года назад

      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

    • @adrielderek9159
      @adrielderek9159 2 года назад

      @Titus Ariel Instablaster =)

    • @titusariel84
      @titusariel84 2 года назад

      @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.

    • @titusariel84
      @titusariel84 2 года назад

      @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!

    • @adrielderek9159
      @adrielderek9159 2 года назад

      @Titus Ariel Happy to help :)

  • @rusmaakatupal4723
    @rusmaakatupal4723 7 месяцев назад

    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

  • @letmewatch27
    @letmewatch27 3 года назад +9

    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.

    • @DevNerdKonradKokosa
      @DevNerdKonradKokosa 2 года назад +3

      Typically yes, as for typical LoB app the default performance is good enough!

  • @Estrav.Krastvich
    @Estrav.Krastvich 10 месяцев назад

    Awesome really.

  • @koorshashirazi2037
    @koorshashirazi2037 3 года назад +1

    👌👌👌👍

  • @gamedev_expert
    @gamedev_expert Год назад +1

    Now we have SkipLocalsInit attribute

  • @radoslavivanov8176
    @radoslavivanov8176 3 года назад +24

    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...

  • @AzizjanAyupov_leo
    @AzizjanAyupov_leo 3 года назад +2

    The accent...

  • @Mike-uk2oq
    @Mike-uk2oq 2 года назад

    High performance in a GC language lol

    • @agonzen6390
      @agonzen6390 2 года назад +4

      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.

    • @krccmsitp2884
      @krccmsitp2884 Год назад +5

      Some people laugh, others know better. 🤷

  • @ChristopherSalisburySalz
    @ChristopherSalisburySalz 3 года назад +2

    Thumbnail of this video looked like a female programmer was presenting!