Amazing. I got a bit stuck at "buffer yourself". I saw this presentation shortly after it was uploaded in 2019 and since then it's become my pet peeve in code reviews as well as sortof catchphrase. "Go buffer yourself".
I did not get it fully, why on the first part, when Dave moves the buffer declaration to file scope, that avoids that escaping of the buffer to the heap. Why did it escape to the heap? I watched his explanation over and over, but it's still not 100% for me.
My understanding is that slices work as pointers to a subsection of the underlying array. Because the declaration is only invoked once, there are no memory allocation requests and therefore you are recycling the same memory byte as opposed to asking the OS to give you a new piece of the stack every time you call the function.
The compiler, therefore knows what will happen to the array in the stack once the function is closed and therefore it can declare that keeping it in the stack frame is safe and does not require going off to the heap.
When you started talking about thousands of cores and calculating each row or pixel on a core - I thought you were going to dive into GPU programming 🤣
Excellent talk, enjoyed it very much! Please, more talks like these in 2021 instead of the political social justice BS you decided to sneak into GopherCon 2020.
Dave Cheney is the unsung hero of the Go community.
Amazing talk! This guy has the ability to present such complex topics in a simple way!
Clear message, clear structure, easy to understand, thank you
Amazing presentation! I wonder how a software engineer can think of such visual explanations! Hats off.
Great talk ! Also I am novice of go and I can understand! Thanks
Amazing. I got a bit stuck at "buffer yourself". I saw this presentation shortly after it was uploaded in 2019 and since then it's become my pet peeve in code reviews as well as sortof catchphrase. "Go buffer yourself".
great presentation. Thanks
Amazing. Thank you so much for delivering such great presentation.
One of the best talks ever. Thank you. Your blog is amazing too, love it
Great talk man, instead of just showing slides and talking you are showing all the nuts and bolts that makes the program what it is.
Absolutely amazing talk. Thanks
Amazing talk and great explanation!
Thank you for providing a great presentation.
Great talk. I learn something new about Go
Learned a lot from this great talk.
nice I love Go
Same
Great talk, especially switching to tracing when cpu profiling gave no clue.
Learnt plenty thanks very much, brilliant presentation!
Awesome, thanks!
Awesome high quality presentation!!! Thanks a lot!
thank you for saved me
I did not get it fully, why on the first part, when Dave moves the buffer declaration to file scope, that avoids that escaping of the buffer to the heap. Why did it escape to the heap? I watched his explanation over and over, but it's still not 100% for me.
Also, brilliant presentation!!!
My understanding is that slices work as pointers to a subsection of the underlying array. Because the declaration is only invoked once, there are no memory allocation requests and therefore you are recycling the same memory byte as opposed to asking the OS to give you a new piece of the stack every time you call the function.
The compiler, therefore knows what will happen to the array in the stack once the function is closed and therefore it can declare that keeping it in the stack frame is safe and does not require going off to the heap.
This is bookmark worthy
great talk
can u share code with us?
Nice talk. It's kind of infuriating that go doesn't just inline readByte and avoid the heap allocation, though.
What were the 3 different profiling techniques ?
- pprof
- trace
- ??
Memory, CPU and Trace ma dude
Thanks!
In my mac air m1,mode row's performance is more better than mode workers, no matter how many workers used
Somebody get me link on source code
When you started talking about thousands of cores and calculating each row or pixel on a core - I thought you were going to dive into GPU programming 🤣
Unix user "dfc" hehe
Excellent talk, enjoyed it very much! Please, more talks like these in 2021 instead of the political social justice BS you decided to sneak into GopherCon 2020.