Literally the PowerPoint code is displayed, you can hear him clearly n he speaks slowly. Being distracted by “this” noise says a lot about you n other likes how little things annoy/angry at.
ArrayPool doesn't have a reference to the array after rent, so not returning array to the pool mitigates the point of using ArrayPools but isn't dangerous - do not lead to memory leaks. You don't need to be orthodox and write some finalizers to be extremally sure that array will return to the pool on some edge cases (like exceptions).
4:46 "If you create a string, send it to a method, that method changes the string, it is going to change the original object." This is not true. Strings are immutable and modifications will return a new string.
Channels are made for asynchronous producer-consumer scenarios and they are generic, for any type T. The new pipe API works with raw bytes and provides automatic memory buffer management via memory pooling.
Its about time the working of the garbage collector is considered important instead of treated like a black box. .NET game devs take note, the GC isnt optimized for your use case, so you have to take control and do regular collection manually (GC.Collect(..) )
Maybe the best NDC talk AND THEY FILMED IT IN A HALLWAY
Extremely well prepared talk! Big hugs to Stefán.
Honestly, never heard of Channels and saw so many optimizations. Well done 👍
why is there so much crowd noise in the background?
Literally the PowerPoint code is displayed, you can hear him clearly n he speaks slowly.
Being distracted by “this” noise says a lot about you n other likes how little things annoy/angry at.
@@georgepagotelis I bet it has to be so much fun being around you
I have a lot of experience in .NET, this conference is extremely interesting.
00:00 Intro
01:20 Garbage collectio
03:58 Reference vs. Value types
05:16 Performance tips
Was this filmed in the middle of a busy cafeteria?
ArrayPool doesn't have a reference to the array after rent, so not returning array to the pool mitigates the point of using ArrayPools but isn't dangerous - do not lead to memory leaks. You don't need to be orthodox and write some finalizers to be extremally sure that array will return to the pool on some edge cases (like exceptions).
Thanks for the correction. I had overlooked this :)
Who does the audio for tech conferences?
4:46 "If you create a string, send it to a method, that method changes the string, it is going to change the original object." This is not true. Strings are immutable and modifications will return a new string.
Yes true
"But if it was to be run on different architectures... (fluke boom in audience) ... it would fail" made me lol 28:02
Isn't Channels same as the "new" Pipe API?
Channels are made for asynchronous producer-consumer scenarios and they are generic, for any type T. The new pipe API works with raw bytes and provides automatic memory buffer management via memory pooling.
@@gdargdar91
But also Pipes have async producer/consumer pattern, there is two types of pipe, `IPipeReader` and `IPipeWriter`
Eye opening conference, too bad the noise and claps distract it.
Its about time the working of the garbage collector is considered important instead of treated like a black box. .NET game devs take note, the GC isnt optimized for your use case, so you have to take control and do regular collection manually (GC.Collect(..) )
Performance and .NET in the same sentence...
I see you must have been living in a cave since the last couple .Net Core release iterations
Ok then what framework would you be using to build big applications