Lowering in C#: What's really going on in your code? - David Wengier

Поділитися
Вставка
  • Опубліковано 6 лис 2024

КОМЕНТАРІ • 41

  • @keja0
    @keja0 4 роки тому +23

    This guy was awesome, good presentation, clear talking and interesting subject.

  • @sau002
    @sau002 4 роки тому +5

    Good presentation. I like the simplistic approach.

  • @alexeski4109
    @alexeski4109 2 роки тому

    Amazingly insightful talk.

  • @christofstanits
    @christofstanits 4 роки тому +10

    excellent talk!

  • @MobilTemp
    @MobilTemp 4 роки тому +16

    Great stuff

  • @lollo4711
    @lollo4711 2 роки тому

    Enumerator: Removing items from the list (from inside the loop) will make MoveNext() return/set a false Current()-Item?!

  • @kevin179887
    @kevin179887 4 роки тому

    Was the compiler mentioned that this talk referenced? There are many C# compilers and they operate differently.

    • @zombie_pigdragon
      @zombie_pigdragon 2 роки тому

      At 36:00, he links to roslyn, which is the C# compiler that he used.

  • @Iregger0
    @Iregger0 3 роки тому

    Shouldn't that while loop @1:26 translate to something like again: if(something) dostuff i++ goto again; ?
    Now it (@1:31) looks more like do while
    Anyway, good stuff. Thanks.

  • @TheLbadwal
    @TheLbadwal 4 роки тому

    Gold, many thanks!

  • @anantmishra6783
    @anantmishra6783 4 роки тому +2

    dead boring but useful. D:

  • @bbcskych4
    @bbcskych4 4 роки тому

    Why there will be a stackoverflow exception in c#4's foreach ?

    • @merthsoft
      @merthsoft 4 роки тому +6

      I believe he was referring to the website stackoverflow, because there were a LOT of questions about this behavior when C#4 came out.

  • @theMagos
    @theMagos 4 роки тому +5

    18:28 (e as IDisposable)?.Dispose();

    • @keja0
      @keja0 4 роки тому +6

      Not in the code he has shown, bc that was C# 4. Null-conditional operators are only after C# 6

    • @emmepombar3328
      @emmepombar3328 Рік тому

      Ah, your code is before lowering. 😀

  • @payamism
    @payamism 4 роки тому +8

    If you are concerned about performance to this low level, then C# is the wrong tool for the job. Go use C++, C, Rust...

    • @merthsoft
      @merthsoft 4 роки тому +3

      Yes, this is all great stuff to know, but I don't think it's good to know for optimization reasons. If my manager told me that code chunk he showed at 33:35 was too slow or used too much memory I'd look at him concerned and then I'd profile it before doing any analysis about what the compiler is doing.

    • @mzg147
      @mzg147 4 роки тому +1

      I am just concerned how my code really works.

    • @comradestinger
      @comradestinger 4 роки тому +8

      I mean.. C# *is* used for some high-performance stuff, like in unity for games or other desktop workloads.
      Knowing which abstractions are cheap and which ones create their own classes and statemeachines (omg) I think is really good so you don't accidentally use them in hot paths.

    • @Robert-G
      @Robert-G 4 роки тому +4

      Comrade Stinger the state machine isn’t the problem, that’s equivalent to an int state and a switch.
      The problem is, that it needs a class, and everything that allocates can trigger a „whole world stops GC sweep“

    • @ZahrDalsk
      @ZahrDalsk 4 роки тому

      @@comradestinger C#? Well that explains why unity's performance is so famously bad.

  • @rohithnaik123
    @rohithnaik123 4 роки тому +6

    Very Confusing and unclear :(

    • @slavaknyazev45
      @slavaknyazev45 4 роки тому +2

      which part?

    • @rohithnaik123
      @rohithnaik123 4 роки тому +1

      @@slavaknyazev45 I feel like the speaker's ordering of topics was off. He should look into reformatting his talk to make it more intuitive and flowing. I had to watch this 3 times and then I got the entire thing.

    • @rohithnaik123
      @rohithnaik123 4 роки тому +2

      I just want to add that the talk was very informative if you give it some time. The Sharplab demo was really cool as well. I think he should have used that in the beginning to make the intent of the video pop.

  • @UPSCCSE-ku7ej
    @UPSCCSE-ku7ej 4 роки тому +5

    He is confused