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!
Amazing presentation! I wonder how a software engineer can think of such visual explanations! Hats off.
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".
Clear message, clear structure, easy to understand, thank you
Great talk ! Also I am novice of go and I can understand! Thanks
Amazing. Thank you so much for delivering such great presentation.
great presentation. Thanks
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.
nice I love Go
Same
Thank you for providing a great presentation.
Amazing talk and great explanation!
Learned a lot from this great talk.
Absolutely amazing talk. Thanks
Great talk. I learn something new about Go
Great talk, especially switching to tracing when cpu profiling gave no clue.
Awesome high quality presentation!!! Thanks a lot!
Learnt plenty thanks very much, brilliant presentation!
Awesome, thanks!
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.
great talk
This is bookmark worthy
Nice talk. It's kind of infuriating that go doesn't just inline readByte and avoid the heap allocation, though.
can u share code with us?
Thanks!
In my mac air m1,mode row's performance is more better than mode workers, no matter how many workers used
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 🤣
What were the 3 different profiling techniques ?
- pprof
- trace
- ??
Memory, CPU and Trace ma dude
Somebody get me link on source code
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.