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