René's URL Explorer Experiment


Title: GitHub - rcheetu/optimizing-go-programs: workshop material on optimizing go programs

Open Graph Title: GitHub - rcheetu/optimizing-go-programs: workshop material on optimizing go programs

X Title: GitHub - rcheetu/optimizing-go-programs: workshop material on optimizing go programs

Description: workshop material on optimizing go programs. Contribute to rcheetu/optimizing-go-programs development by creating an account on GitHub.

Open Graph Description: workshop material on optimizing go programs. Contribute to rcheetu/optimizing-go-programs development by creating an account on GitHub.

X Description: workshop material on optimizing go programs. Contribute to rcheetu/optimizing-go-programs development by creating an account on GitHub.

Opengraph URL: https://github.com/rcheetu/optimizing-go-programs

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:1f049b3c-1846-0673-d2fd-b15f5a517059
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idC350:2AF02:A82516:D4820F:69917CED
html-safe-nonce431b65085e63cdd9e0f93df097891a797661ce617cb9617b282fc23f740fbcc5
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMzUwOjJBRjAyOkE4MjUxNjpENDgyMEY6Njk5MTdDRUQiLCJ2aXNpdG9yX2lkIjoiMzMxNzkxMTg0MDUwODQ0Mzg4NSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac5ef1de340affdb2d2ba730140e903b8e9bac1e31f64c02d365bf1b73071b1177
hovercard-subject-tagrepository:309047629
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/rcheetu/optimizing-go-programs
twitter:imagehttps://opengraph.githubassets.com/b73cd0567ddf35f9ac8c872f31b8158216ce637e0d69e45cd9ceff786ba877d1/rcheetu/optimizing-go-programs
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/b73cd0567ddf35f9ac8c872f31b8158216ce637e0d69e45cd9ceff786ba877d1/rcheetu/optimizing-go-programs
og:image:altworkshop material on optimizing go programs. Contribute to rcheetu/optimizing-go-programs development by creating an account on GitHub.
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b
turbo-cache-controlno-preview
go-importgithub.com/rcheetu/optimizing-go-programs git https://github.com/rcheetu/optimizing-go-programs.git
octolytics-dimension-user_id32176460
octolytics-dimension-user_loginrcheetu
octolytics-dimension-repository_id309047629
octolytics-dimension-repository_nworcheetu/optimizing-go-programs
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id181922222
octolytics-dimension-repository_parent_nwosathishvj/optimizing-go-programs
octolytics-dimension-repository_network_root_id181922222
octolytics-dimension-repository_network_root_nwosathishvj/optimizing-go-programs
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release848bc6032dcc93a9a7301dcc3f379a72ba13b96e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Frcheetu%2Foptimizing-go-programs
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Frcheetu%2Foptimizing-go-programs
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=rcheetu%2Foptimizing-go-programs
Reloadhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
Reloadhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
Reloadhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
rcheetu https://patch-diff.githubusercontent.com/rcheetu
optimizing-go-programshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
sathishvj/optimizing-go-programshttps://patch-diff.githubusercontent.com/sathishvj/optimizing-go-programs
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Frcheetu%2Foptimizing-go-programs
Fork 0 https://patch-diff.githubusercontent.com/login?return_to=%2Frcheetu%2Foptimizing-go-programs
Star 0 https://patch-diff.githubusercontent.com/login?return_to=%2Frcheetu%2Foptimizing-go-programs
0 stars https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/stargazers
11 forks https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/forks
Branches https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/branches
Tags https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tags
Activity https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Frcheetu%2Foptimizing-go-programs
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Frcheetu%2Foptimizing-go-programs
Code https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
Pull requests 0 https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/pulls
Actions https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/actions
Projects 0 https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/projects
Security 0 https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/security
Insights https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/pulse
Code https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
Pull requests https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/pulls
Actions https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/actions
Projects https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/projects
Security https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/security
Insights https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/pulse
Brancheshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/branches
Tagshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tags
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/branches
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tags
42 Commitshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/commits/master/
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/commits/master/
.ideahttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tree/master/.idea
.ideahttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tree/master/.idea
codehttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tree/master/code
codehttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tree/master/code
imageshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tree/master/images
imageshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/tree/master/images
.gitignorehttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/.gitignore
readme.mdhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/readme.md
readme.mdhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/readme.md
READMEhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#optimizing-go-programs
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#go-tools-for-optimization
Testinghttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#testing
Coveragehttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#coverage
Benchmarkinghttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#benchmarking
Profilinghttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#profiling
Tracinghttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#tracing
GOMAXPROCShttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#gomaxprocs
GOGChttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#gogc
stack and heaphttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#stack-and-heap
escape analysishttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#escape-analysis
Inlininghttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#inlining
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#go-techniques-for-optimization
Parallelize CPU Workhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#parallelize-cpu-work
Bounds Check Eliminationhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#bounds-check-elimination
sync Poolshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#syncpools
sync once and lazy initializationshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#synconce-for-lazy-initialization
Arrays and Sliceshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#arrays-and-slices
String Concatenationhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#string-concatenation
Map Keys: int vs stringhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#map-keys-int-vs-string
JSON Unmarshalinghttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#json-unmarshaling
File I/Ohttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#file-io
Regexp Compilationhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#regexp-compilation
Deferhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#defer
fmt vs strconvhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#fmt-vs-strconv
Explicitly Set Derived Valueshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#explicitly-set-derived-values
Go Performance Patternshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#go-performance-patterns
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#testing
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#coverage
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#benchmarking
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#benchcmp
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#profiling
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#m-p-g
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/tracing/1-OS-process-and-its-threads.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/tracing/2-goroutines-on-a-thread.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/tracing/3-goroutines-on-a-blocking-thread.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/tracing/4-concurrency-and-parallelism.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#tracing
https://blog.gopheracademy.com/advent-2017/go-execution-tracer/https://blog.gopheracademy.com/advent-2017/go-execution-tracer/
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#ways-to-get-a-trace
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#view-trace
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/tracing/view-trace.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#view-goroutine
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/tracing/view-goroutine.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#tracing-example
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#tracing-gc
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/tracing/tracing-gc.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#tracing-conclusion
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#gomaxprocs
https://eli.thegreenplace.net/2018/measuring-context-switching-and-memory-overheads-for-linux-threads/https://eli.thegreenplace.net/2018/measuring-context-switching-and-memory-overheads-for-linux-threads/
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#what-is-gomaxprocs
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#what-should-be-the-value-of-gomaxprocs
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#running-with-different-gomaxprocs
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/gomaxprocs/gomaxprocs-1.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/gomaxprocs/gomaxprocs-8.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/gomaxprocs/gomaxprocs-18.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#exercise
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#gogc
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#exercise-1
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/gogc/gogc-off.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/gogc/gogc-50.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/gogc/gogc-100.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/blob/master/images/gogc/gogc-200.png
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#stack-and-heap
https://scvalex.net/posts/29/https://scvalex.net/posts/29/
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#stack-frame
http://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch10s07.htmlhttp://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch10s07.html
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#the-stack
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#escape-analysis
https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/
http://www.agardner.me/golang/garbage/collection/gc/escape/analysis/2015/10/18/go-escape-analysis.htmlhttp://www.agardner.me/golang/garbage/collection/gc/escape/analysis/2015/10/18/go-escape-analysis.html
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#inlining
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#parallelize-cpu-work
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#queueing-theory
What happens when you add another teller? - by John D. Cookhttps://www.johndcook.com/blog/2008/10/21/what-happens-when-you-add-a-new-teller/
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#bounds-check-elimination
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#bce-definition
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#providing-bce-hints
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#syncpools
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#exercise-syncpool
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#synconce-for-lazy-initialization
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#arrays-and-slices
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#string-concatenation
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#map-keys-int-vs-string
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#json-unmarshaling
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#file-io
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#regexp-compilation
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#defer
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#fmt-vs-strconv
refhttps://stephen.sh/posts/quick-go-performance-improvements
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#explicitly-set-derived-values
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#go-performance-patterns
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#make-multiple-io-operations-asynchronous
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#avoid-memory-allocation-in-hot-code
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#favor-lock-free-algorithms
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#use-read-only-locks
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#use-buffered-io
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#use-stringbuffer-or-stringbuilder-instead-of--operator
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#use-compiled-regular-expressions-for-repeated-matching
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#preallocate-slices
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#use-protocol-buffers-or-messagepack-instead-of-json-and-gob
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#use-int-keys-instead-of-string-keys-for-maps
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#use-methods-that-allow-you-to-pass-byte-slices-
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#avoid-using-structures-containing-pointers-as-map-keys-for-large-maps
refhttps://stephen.sh/posts/quick-go-performance-improvements
https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#references
Daniel Marti's talk - Optimizing Go Code without a Blindfoldhttps://www.dotconferences.com/2019/03/daniel-marti-optimizing-go-code-without-a-blindfold
dave cheney high performance workshophttps://dave.cheney.net/high-performance-go-workshop/dotgo-paris.html
github - dave cheney high performance workshophttps://github.com/davecheney/high-performance-go-workshop
don't lock around iohttps://commandercoriander.net/blog/2018/04/10/dont-lock-around-io/
advent 2017 - go execution tracerhttps://blog.gopheracademy.com/advent-2017/go-execution-tracer/
execution tracer design dochttps://docs.google.com/document/u/1/d/1FP5apqzBgr7ahCCgFO-yoVhk4YZrNIDNf9RybngBc14/pub
https://www.alexedwards.net/blog/an-overview-of-go-toolinghttps://www.alexedwards.net/blog/an-overview-of-go-tooling
configuring sqldb for better performancehttps://www.alexedwards.net/blog/configuring-sqldb
rate limit http requestshttps://www.alexedwards.net/blog/how-to-rate-limit-http-requests
https://www.alexedwards.net/blog/understanding-mutexeshttps://www.alexedwards.net/blog/understanding-mutexes
https://stackimpact.com/docs/go-performance-tuning/https://stackimpact.com/docs/go-performance-tuning/
https://stackimpact.com/blog/practical-golang-benchmarks/https://stackimpact.com/blog/practical-golang-benchmarks/
https://www.ardanlabs.com/blog/2017/06/design-philosophy-on-data-and-semantics.htmlhttps://www.ardanlabs.com/blog/2017/06/design-philosophy-on-data-and-semantics.html
https://github.com/ardanlabs/gotraininghttps://github.com/ardanlabs/gotraining
http://www.doxsey.net/blog/go-and-assemblyhttp://www.doxsey.net/blog/go-and-assembly
https://medium.com/observability/debugging-latency-in-go-1-11-9f97a7910d68https://medium.com/observability/debugging-latency-in-go-1-11-9f97a7910d68
https://rakyll.org/profiler-labels/https://rakyll.org/profiler-labels/
https://stackoverflow.com/questions/45027236/what-differentiates-exception-frames-from-other-data-on-the-return-stackhttps://stackoverflow.com/questions/45027236/what-differentiates-exception-frames-from-other-data-on-the-return-stack
https://www.infoq.com/presentations/self-heal-scalable-systemhttps://www.infoq.com/presentations/self-heal-scalable-system
https://dave.cheney.net/paste/clear-is-better-than-clever.pdfhttps://dave.cheney.net/paste/clear-is-better-than-clever.pdf
https://golang.org/pkg/sync/#Poolhttps://golang.org/pkg/sync/#Pool
https://dev.to/hsatac/syncpool-34pdhttps://dev.to/hsatac/syncpool-34pd
http://dominik.honnef.co/go-tip/2014-01-10/#syncpoolhttp://dominik.honnef.co/go-tip/2014-01-10/#syncpool
https://www.quora.com/In-C-what-does-buffering-I-O-or-buffered-I-O-meanhttps://www.quora.com/In-C-what-does-buffering-I-O-or-buffered-I-O-mean
https://stackoverflow.com/questions/1450551/buffered-vs-unbuffered-iohttps://stackoverflow.com/questions/1450551/buffered-vs-unbuffered-io
http://www.agardner.me/golang/garbage/collection/gc/escape/analysis/2015/10/18/go-escape-analysis.htmlhttp://www.agardner.me/golang/garbage/collection/gc/escape/analysis/2015/10/18/go-escape-analysis.html
Performance Optimization Sins - Aliaksandar Valialkinhttps://docs.google.com/presentation/d/e/2PACX-1vTxoBN41dYFB8aV8c0SDET3B2htsAavXPAwR-CMyfT2LfARR2KjOt8EPIU1zn8ceSuxrL8BmkOqqL_c/pub?start=false&loop=false&delayms=3000&slide=id.g524654fd95_0_117
https://blog.gopheracademy.com/advent-2018/postmortem-debugging-delve/https://blog.gopheracademy.com/advent-2018/postmortem-debugging-delve/
https://github.com/golang/go/wiki/DesignDocumentshttps://github.com/golang/go/wiki/DesignDocuments
Go execution modeshttps://docs.google.com/document/d/1nr-TQHw_er6GOQRsF6T43GGhFDelrAP0NqSS_00RgZQ/edit
https://rakyll.org/profiler-labels/https://rakyll.org/profiler-labels/
https://rakyll.org/pprof-ui/https://rakyll.org/pprof-ui/
https://medium.com/@blanchon.vincent/go-should-i-use-a-pointer-instead-of-a-copy-of-my-struct-44b43b104963https://medium.com/@blanchon.vincent/go-should-i-use-a-pointer-instead-of-a-copy-of-my-struct-44b43b104963
Performance tuning Go in GCPhttps://www.youtube.com/watch?v=b0o-xeEoug0
https://medium.com/observability/want-to-debug-latency-7aa48ecbe8f7https://medium.com/observability/want-to-debug-latency-7aa48ecbe8f7
https://medium.com/dm03514-tech-blog/sre-debugging-simple-memory-leaks-in-go-e0a9e6d63d4dhttps://medium.com/dm03514-tech-blog/sre-debugging-simple-memory-leaks-in-go-e0a9e6d63d4d
https://www.ardanlabs.com/blog/2013/07/understanding-type-in-go.htmlhttps://www.ardanlabs.com/blog/2013/07/understanding-type-in-go.html
https://www.geeksforgeeks.org/structure-member-alignment-padding-and-data-packing/https://www.geeksforgeeks.org/structure-member-alignment-padding-and-data-packing/
https://developers.redhat.com/blog/2016/06/01/how-to-avoid-wasting-megabytes-of-memory-a-few-bytes-at-a-time/https://developers.redhat.com/blog/2016/06/01/how-to-avoid-wasting-megabytes-of-memory-a-few-bytes-at-a-time/
https://go101.org/article/memory-layout.htmlhttps://go101.org/article/memory-layout.html
https://dave.cheney.net/2015/10/09/padding-is-hardhttps://dave.cheney.net/2015/10/09/padding-is-hard
http://www.catb.org/esr/structure-packing/http://www.catb.org/esr/structure-packing/
Escape Analysis in Gohttps://scvalex.net/posts/29/
https://www.ardanlabs.com/blog/2018/01/escape-analysis-flaws.htmlhttps://www.ardanlabs.com/blog/2018/01/escape-analysis-flaws.html
https://www.ardanlabs.com/blog/2017/05/language-mechanics-on-stacks-and-pointers.htmlhttps://www.ardanlabs.com/blog/2017/05/language-mechanics-on-stacks-and-pointers.html
https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/
https://godoc.org/golang.org/x/perf/cmd/benchstathttps://godoc.org/golang.org/x/perf/cmd/benchstat
https://www.dotconferences.com/2019/03/daniel-marti-optimizing-go-code-without-a-blindfoldhttps://www.dotconferences.com/2019/03/daniel-marti-optimizing-go-code-without-a-blindfold
https://www.youtube.com/watch?v=jiXnzkAzy30https://www.youtube.com/watch?v=jiXnzkAzy30
go cpu mem profiling benchmarks gisthttps://gist.github.com/arsham/bbc93990d8e5c9b54128a3d88901ab90
https://hashrocket.com/blog/posts/go-performance-observationshttps://hashrocket.com/blog/posts/go-performance-observations
https://www.ardanlabs.com/blog/2017/05/language-mechanics-on-escape-analysis.htmlhttps://www.ardanlabs.com/blog/2017/05/language-mechanics-on-escape-analysis.html
https://dave.cheney.net/2014/06/07/five-things-that-make-go-fasthttps://dave.cheney.net/2014/06/07/five-things-that-make-go-fast
https://stackoverflow.com/questions/2113751/sizeof-struct-in-gohttps://stackoverflow.com/questions/2113751/sizeof-struct-in-go
https://stackoverflow.com/questions/31496804/how-to-get-the-size-of-struct-and-its-contents-in-bytes-in-golang?rq=1https://stackoverflow.com/questions/31496804/how-to-get-the-size-of-struct-and-its-contents-in-bytes-in-golang?rq=1
https://github.com/campoy/go-tooling-workshop/tree/master/3-dynamic-analysishttps://github.com/campoy/go-tooling-workshop/tree/master/3-dynamic-analysis
https://blog.usejournal.com/why-you-should-like-sync-pool-2c7960c023bahttps://blog.usejournal.com/why-you-should-like-sync-pool-2c7960c023ba
work stealing schedulerhttps://rakyll.org/scheduler/
https://morsmachine.dk/go-schedulerhttps://morsmachine.dk/go-scheduler
https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part1.htmlhttps://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part1.html
https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.htmlhttps://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.html
https://www.ardanlabs.com/blog/2018/12/scheduling-in-go-part3.htmlhttps://www.ardanlabs.com/blog/2018/12/scheduling-in-go-part3.html
https://www.welcometothejungle.co/fr/articles/languages-software-go-elixirhttps://www.welcometothejungle.co/fr/articles/languages-software-go-elixir
https://eng.uber.com/optimizing-m3/https://eng.uber.com/optimizing-m3/
https://medium.com/@fzambia/bisecting-go-performance-degradation-4d4a7ee83a63https://medium.com/@fzambia/bisecting-go-performance-degradation-4d4a7ee83a63
https://golang.org/doc/diagnostics.htmlhttps://golang.org/doc/diagnostics.html
http://jesseszwedko.com/gsp-go-debugging/#slide1http://jesseszwedko.com/gsp-go-debugging/#slide1
https://fntlnz.wtf/post/gopostmortem/https://fntlnz.wtf/post/gopostmortem/
https://dave.cheney.net/2013/10/15/how-does-the-go-build-command-workhttps://dave.cheney.net/2013/10/15/how-does-the-go-build-command-work
https://medium.freecodecamp.org/how-i-investigated-memory-leaks-in-go-using-pprof-on-a-large-codebase-4bec4325e192https://medium.freecodecamp.org/how-i-investigated-memory-leaks-in-go-using-pprof-on-a-large-codebase-4bec4325e192
https://medium.com/@cep21/using-go-1-10-new-trace-features-to-debug-an-integration-test-1dc39e4e812dhttps://medium.com/@cep21/using-go-1-10-new-trace-features-to-debug-an-integration-test-1dc39e4e812d
https://medium.com/golangspec/goroutine-leak-400063aef468https://medium.com/golangspec/goroutine-leak-400063aef468
https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7
https://medium.com/@teivah/good-code-vs-bad-code-in-golang-84cb3c5da49dhttps://medium.com/@teivah/good-code-vs-bad-code-in-golang-84cb3c5da49d
https://matoski.com/article/golang-profiling-flamegraphs/https://matoski.com/article/golang-profiling-flamegraphs/
https://dzone.com/articles/so-you-wanna-go-fasthttps://dzone.com/articles/so-you-wanna-go-fast
https://www.slideshare.net/BadooDev/profiling-and-optimizing-go-programshttps://www.slideshare.net/BadooDev/profiling-and-optimizing-go-programs
https://about.sourcegraph.com/go/an-introduction-to-go-tool-trace-rhys-hiltnerhttps://about.sourcegraph.com/go/an-introduction-to-go-tool-trace-rhys-hiltner
https://speakerdeck.com/rhysh/an-introduction-to-go-tool-tracehttps://speakerdeck.com/rhysh/an-introduction-to-go-tool-trace
https://stackimpact.com/blog/go-profiler-internals/https://stackimpact.com/blog/go-profiler-internals/
https://syslog.ravelin.com/go-and-memory-layout-6ef30c730d51https://syslog.ravelin.com/go-and-memory-layout-6ef30c730d51
https://github.com/golang/go/wiki/Performancehttps://github.com/golang/go/wiki/Performance
https://blog.golang.org/ismmkeynotehttps://blog.golang.org/ismmkeynote
https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/
https://pusher.com/sessions/meetup/the-realtime-guild/golangs-realtime-garbage-collectorhttps://pusher.com/sessions/meetup/the-realtime-guild/golangs-realtime-garbage-collector
https://blog.cloudflare.com/go-dont-collect-my-garbage/https://blog.cloudflare.com/go-dont-collect-my-garbage/
https://syslog.ravelin.com/further-dangers-of-large-heaps-in-go-7a267b57d487https://syslog.ravelin.com/further-dangers-of-large-heaps-in-go-7a267b57d487
https://www.akshaydeo.com/blog/2017/12/23/How-did-I-improve-latency-by-700-percent-using-syncPool/https://www.akshaydeo.com/blog/2017/12/23/How-did-I-improve-latency-by-700-percent-using-syncPool/
Go 1.5 GOMAXPROCS default documenthttps://docs.google.com/document/d/1At2Ls5_fhJQ59kDK2DFVhFu3g5mATSXqqV5QrxinasI/edit
https://dave.cheney.net/2015/11/29/a-whirlwind-tour-of-gos-runtime-environment-variableshttps://dave.cheney.net/2015/11/29/a-whirlwind-tour-of-gos-runtime-environment-variables
https://engineers.sg/video/understanding-allocations-the-stack-and-the-heap-gophercon-sg-2019--3371https://www.youtube.com/watch?v=ZMZpH4yT7M0
Getting to Go's Garbage Collectorhttps://blog.golang.org/ismmkeynote
Go GC progress in tweetshttps://talks.golang.org/2017/state-of-go.slide#34
https://go101.org/article/concurrent-atomic-operation.htmlhttps://go101.org/article/concurrent-atomic-operation.html
https://www.integralist.co.uk/posts/profiling-go/https://www.integralist.co.uk/posts/profiling-go/
https://medium.com/golangspec/sync-rwmutex-ca6c6c3208a0https://medium.com/golangspec/sync-rwmutex-ca6c6c3208a0
https://rakyll.org/mutexprofile/https://rakyll.org/mutexprofile/
https://jvns.ca/blog/2017/09/24/profiling-go-with-pprof/https://jvns.ca/blog/2017/09/24/profiling-go-with-pprof/
https://blog.gopheracademy.com/advent-2018/avoid-gc-overhead-large-heaps/https://blog.gopheracademy.com/advent-2018/avoid-gc-overhead-large-heaps/
Journey of go's Garbage collectorhttps://blog.golang.org/ismmkeynote
Memory Layout and Type Alignment Guaranteeshttps://go101.org/article/memory-layout.html
https://dougrichardson.org/2016/01/23/go-memory-allocations.htmlhttps://dougrichardson.org/2016/01/23/go-memory-allocations.html
https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/
https://stackimpact.com/docs/go-performance-tuning/https://stackimpact.com/docs/go-performance-tuning/
https://hackernoon.com/dancing-with-go-s-mutexes-92407ae927bfhttps://hackernoon.com/dancing-with-go-s-mutexes-92407ae927bf
GoLand - Profiling Go Applications and Testshttps://blog.jetbrains.com/go/2019/04/03/profiling-go-applications-and-tests/
https://povilasv.me/go-memory-management/https://povilasv.me/go-memory-management/
gperftools - docs for various profilershttps://github.com/gperftools/gperftools
https://software.intel.com/en-us/blogs/2014/05/10/debugging-performance-issues-in-go-programshttps://software.intel.com/en-us/blogs/2014/05/10/debugging-performance-issues-in-go-programs
when too much concurrency slows you downhttps://medium.com/@_orcaman/when-too-much-concurrency-slows-you-down-golang-9c144ca305a
defer morehttps://go101.org/article/defer-more.html
https://go101.org/article/bounds-check-elimination.htmlhttps://go101.org/article/bounds-check-elimination.html
Agniva's slides from Golang Bangalore meetuphttps://drive.google.com/file/d/1nm7QoZe047lfnLXmdKC0s8Ub7A8LzF56/view
JSON unmarshal vs decode benchmarkhttps://github.com/kpango/go-json-bench
https://www.darkcoding.net/software/go-the-price-of-interface/https://www.darkcoding.net/software/go-the-price-of-interface/
Russ Cox - Go Data Structures: Interfaceshttps://research.swtch.com/interfaces
https://github.com/golang/go/wiki/CompilerOptimizationshttps://github.com/golang/go/wiki/CompilerOptimizations
https://dave.cheney.net/2014/06/07/five-things-that-make-go-fasthttps://dave.cheney.net/2014/06/07/five-things-that-make-go-fast
Carmen Andoh - The Why of Gohttps://www.youtube.com/watch?v=bmZNaUcwBt4
Readme https://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs#readme-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs
Activityhttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/activity
0 starshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/stargazers
0 watchinghttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/watchers
0 forkshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Frcheetu%2Foptimizing-go-programs&report=rcheetu+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/rcheetu/optimizing-go-programs/releases
Packages 0https://patch-diff.githubusercontent.com/users/rcheetu/packages?repo_name=optimizing-go-programs
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.