Soumettre la recherche
Mettre en ligne
Profiling go code a beginners tutorial
•
2 j'aime
•
2,169 vues
Samuel Lampa
Suivre
Technologie
Spirituel
Signaler
Partager
Signaler
Partager
1 sur 20
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
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
Recommandé
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
Contenu connexe
Similaire à 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
Similaire à 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
Plus de 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
Plus de 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
Dernier
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
charlottematthew16
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
SeasiaInfotech2
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Patryk Bandurski
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
The Digital Insurer
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Fwdays
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Miki Katsuragi
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
hariprasad279825
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
null - The Open Security Community
Dernier
(20)
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
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!
Télécharger maintenant