Submit Search
Upload
Profiling go code a beginners tutorial
•
2 likes
•
2,169 views
Samuel Lampa
Follow
Technology
Spiritual
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
Html5 (games)
Html5 (games)
chamsddine bouzaine
Joeffice, day 22: Refactoring
Joeffice, day 22: Refactoring
Anthony Goubard
Prezi portfolio
Prezi portfolio
Razib M
Dev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Dev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Eduardo Pittol
Go debugging and troubleshooting tips - from real life lessons at SignalFx
Go debugging and troubleshooting tips - from real life lessons at SignalFx
SignalFx
Go at Skroutz
Go at Skroutz
AgisAnastasopoulos
Front-End Tooling
Front-End Tooling
Houssem Yahiaoui
Influx/Days 2017 San Francisco | Dan Vanderkam
Influx/Days 2017 San Francisco | Dan Vanderkam
InfluxData
Recommended
Html5 (games)
Html5 (games)
chamsddine bouzaine
Joeffice, day 22: Refactoring
Joeffice, day 22: Refactoring
Anthony Goubard
Prezi portfolio
Prezi portfolio
Razib M
Dev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Dev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Eduardo Pittol
Go debugging and troubleshooting tips - from real life lessons at SignalFx
Go debugging and troubleshooting tips - from real life lessons at SignalFx
SignalFx
Go at Skroutz
Go at Skroutz
AgisAnastasopoulos
Front-End Tooling
Front-End Tooling
Houssem Yahiaoui
Influx/Days 2017 San Francisco | Dan Vanderkam
Influx/Days 2017 San Francisco | Dan Vanderkam
InfluxData
Me&g@home
Me&g@home
Vytautas Dauksa
Kanbanchi presentation
Kanbanchi presentation
Konstantin Baev
Introduction to Google Colaboratory.pdf
Introduction to Google Colaboratory.pdf
Yomna Mahmoud Ibrahim Hassan
Question 6
Question 6
ghrg
How go makes us faster (May 2015)
How go makes us faster (May 2015)
Wilfried Schobeiri
Open Day July 2019
Open Day July 2019
Frappe Technologies Pvt. Ltd.
Plone5
Plone5
Timo Stollenwerk
Devops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
Kris Buytaert
Devops For Drupal
Devops For Drupal
Kris Buytaert
Authoring with FME 2019
Authoring with FME 2019
Safe Software
Intro - End to end ML with Kubeflow @ SignalConf 2018
Intro - End to end ML with Kubeflow @ SignalConf 2018
Holden Karau
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at Singapore
Dhruv Gohil
SFScon18 - Armin Le Grand - Collective action come and see how LibreOffice go...
SFScon18 - Armin Le Grand - Collective action come and see how LibreOffice go...
South Tyrol Free Software Conference
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
Thomas Daly
Future proofing design work with Web components
Future proofing design work with Web components
btopro
An introduction to_golang.avi
An introduction to_golang.avi
SeongJae Park
An introduction to Emulsify
An introduction to Emulsify
valuebound
Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)
wesley chun
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
wesley chun
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7
Andrew Martha
Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...
Samuel Lampa
Linked Data for improved organization of research data
Linked Data for improved organization of research data
Samuel Lampa
More Related Content
Similar to Profiling go code a beginners tutorial
Me&g@home
Me&g@home
Vytautas Dauksa
Kanbanchi presentation
Kanbanchi presentation
Konstantin Baev
Introduction to Google Colaboratory.pdf
Introduction to Google Colaboratory.pdf
Yomna Mahmoud Ibrahim Hassan
Question 6
Question 6
ghrg
How go makes us faster (May 2015)
How go makes us faster (May 2015)
Wilfried Schobeiri
Open Day July 2019
Open Day July 2019
Frappe Technologies Pvt. Ltd.
Plone5
Plone5
Timo Stollenwerk
Devops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
Kris Buytaert
Devops For Drupal
Devops For Drupal
Kris Buytaert
Authoring with FME 2019
Authoring with FME 2019
Safe Software
Intro - End to end ML with Kubeflow @ SignalConf 2018
Intro - End to end ML with Kubeflow @ SignalConf 2018
Holden Karau
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at Singapore
Dhruv Gohil
SFScon18 - Armin Le Grand - Collective action come and see how LibreOffice go...
SFScon18 - Armin Le Grand - Collective action come and see how LibreOffice go...
South Tyrol Free Software Conference
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
Thomas Daly
Future proofing design work with Web components
Future proofing design work with Web components
btopro
An introduction to_golang.avi
An introduction to_golang.avi
SeongJae Park
An introduction to Emulsify
An introduction to Emulsify
valuebound
Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)
wesley chun
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
wesley chun
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7
Andrew Martha
Similar to Profiling go code a beginners tutorial
(20)
Me&g@home
Me&g@home
Kanbanchi presentation
Kanbanchi presentation
Introduction to Google Colaboratory.pdf
Introduction to Google Colaboratory.pdf
Question 6
Question 6
How go makes us faster (May 2015)
How go makes us faster (May 2015)
Open Day July 2019
Open Day July 2019
Plone5
Plone5
Devops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
Devops For Drupal
Devops For Drupal
Authoring with FME 2019
Authoring with FME 2019
Intro - End to end ML with Kubeflow @ SignalConf 2018
Intro - End to end ML with Kubeflow @ SignalConf 2018
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at Singapore
SFScon18 - Armin Le Grand - Collective action come and see how LibreOffice go...
SFScon18 - Armin Le Grand - Collective action come and see how LibreOffice go...
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
Future proofing design work with Web components
Future proofing design work with Web components
An introduction to_golang.avi
An introduction to_golang.avi
An introduction to Emulsify
An introduction to Emulsify
Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7
More from Samuel Lampa
Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...
Samuel Lampa
Linked Data for improved organization of research data
Linked Data for improved organization of research data
Samuel Lampa
How to document computational research projects
How to document computational research projects
Samuel Lampa
Reproducibility in Scientific Data Analysis - BioScience Seminar
Reproducibility in Scientific Data Analysis - BioScience Seminar
Samuel Lampa
Batch import of large RDF datasets into Semantic MediaWiki
Batch import of large RDF datasets into Semantic MediaWiki
Samuel Lampa
SciPipe - A light-weight workflow library inspired by flow-based programming
SciPipe - A light-weight workflow library inspired by flow-based programming
Samuel Lampa
Vagrant, Ansible and Docker - How they fit together for productive flexible d...
Vagrant, Ansible and Docker - How they fit together for productive flexible d...
Samuel Lampa
iRODS Rule Language Cheat Sheet
iRODS Rule Language Cheat Sheet
Samuel Lampa
AddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based Programming
Samuel Lampa
First encounter with Elixir - Some random things
First encounter with Elixir - Some random things
Samuel Lampa
Flow based programming an overview
Flow based programming an overview
Samuel Lampa
Python Generators - Talk at PySthlm meetup #15
Python Generators - Talk at PySthlm meetup #15
Samuel Lampa
The RDFIO Extension - A Status update
The RDFIO Extension - A Status update
Samuel Lampa
My lightning talk at Go Stockholm meetup Aug 6th 2013
My lightning talk at Go Stockholm meetup Aug 6th 2013
Samuel Lampa
Hooking up Semantic MediaWiki with external tools via SPARQL
Hooking up Semantic MediaWiki with external tools via SPARQL
Samuel Lampa
Thesis presentation Samuel Lampa
Thesis presentation Samuel Lampa
Samuel Lampa
3rd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
3rd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
Samuel Lampa
2nd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
2nd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
Samuel Lampa
More from Samuel Lampa
(18)
Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...
Linked Data for improved organization of research data
Linked Data for improved organization of research data
How to document computational research projects
How to document computational research projects
Reproducibility in Scientific Data Analysis - BioScience Seminar
Reproducibility in Scientific Data Analysis - BioScience Seminar
Batch import of large RDF datasets into Semantic MediaWiki
Batch import of large RDF datasets into Semantic MediaWiki
SciPipe - A light-weight workflow library inspired by flow-based programming
SciPipe - A light-weight workflow library inspired by flow-based programming
Vagrant, Ansible and Docker - How they fit together for productive flexible d...
Vagrant, Ansible and Docker - How they fit together for productive flexible d...
iRODS Rule Language Cheat Sheet
iRODS Rule Language Cheat Sheet
AddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based Programming
First encounter with Elixir - Some random things
First encounter with Elixir - Some random things
Flow based programming an overview
Flow based programming an overview
Python Generators - Talk at PySthlm meetup #15
Python Generators - Talk at PySthlm meetup #15
The RDFIO Extension - A Status update
The RDFIO Extension - A Status update
My lightning talk at Go Stockholm meetup Aug 6th 2013
My lightning talk at Go Stockholm meetup Aug 6th 2013
Hooking up Semantic MediaWiki with external tools via SPARQL
Hooking up Semantic MediaWiki with external tools via SPARQL
Thesis presentation Samuel Lampa
Thesis presentation Samuel Lampa
3rd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
3rd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
2nd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
2nd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
Recently uploaded
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
hans926745
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Evaluating the top large language models.pdf
Evaluating the top large language models.pdf
ChristopherTHyatt
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Recently uploaded
(20)
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Evaluating the top large language models.pdf
Evaluating the top large language models.pdf
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Profiling go code a beginners tutorial
1.
Profiling Go code A
beginners tutorial Go Stockholm Meetup #7 “High Performance Go” Dec 5th 2013 Samuel Lampa @smllmp +samuellampa saml.rilspace.org Developer at www.uppmax.uu.se, www.farmbio.uu.se, rilpartner.se
2.
Enable profiling: Standard
way Not terribly user friendly :/
3.
… especially compared
to python:
4.
But, thanks to
this Guy at Canonical (Dave Cheney) ... ● ● dave.cheney.net twitter.com/davecheney
5.
… we can
now enable profiling in a much easier way:
6.
How to run
it
7.
How to run
it
8.
How to run
it
9.
Call graph as
PDF, weighted by execution time
10.
A few more
options ...
11.
Zoomable / Scrollable
SVG in browser
12.
A few performance
tricks for string processing...
13.
Version 1
14.
Version 2 –
Table optimization
15.
Version 3 –
Using bufio Scanner(), new in Go 1.2
16.
Version 4 –
Using pointers for counters
17.
Performance improvement, version
1-4
18.
Creds goes to
... ● ● Roger Peppe, also at Canonical, for help with the optimizations, and the final optimized version! twitter.com/rogpeppe
19.
Learn more ● blog.golang.org/profiling-go-programs ● tinyurl.com/go-pprof-win (Using
pprof on Windows) ● blog.cloudflare.com/recycling-memory-buffers-in-go ● saml.rilspace.org/moar-languagez-gc-content-in-pytho n-d-fpc-c-and-c Also, don't miss ● gplus.to/golangplus ● golangweekly.com
20.
Thank you!
Download now