{"id":18276721,"url":"https://github.com/moguchev/golang","last_synced_at":"2025-06-22T03:36:13.802Z","repository":{"id":77253284,"uuid":"572978693","full_name":"moguchev/golang","owner":"moguchev","description":"golang underhood useful links ","archived":false,"fork":false,"pushed_at":"2024-12-11T06:38:40.000Z","size":84,"stargazers_count":73,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-05T23:40:09.453Z","etag":null,"topics":["go","golang","underhood"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moguchev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-01T12:49:45.000Z","updated_at":"2025-05-30T10:48:43.000Z","dependencies_parsed_at":"2024-11-13T20:22:19.384Z","dependency_job_id":"1420e8cf-4e80-4ac8-9144-4c1ca3ec17f8","html_url":"https://github.com/moguchev/golang","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/moguchev/golang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moguchev%2Fgolang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moguchev%2Fgolang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moguchev%2Fgolang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moguchev%2Fgolang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moguchev","download_url":"https://codeload.github.com/moguchev/golang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moguchev%2Fgolang/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261232746,"owners_count":23128166,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","underhood"],"created_at":"2024-11-05T12:17:02.874Z","updated_at":"2025-06-22T03:36:08.779Z","avatar_url":"https://github.com/moguchev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"logo\" align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/devicons/devicon/blob/master/icons/go/go-original-wordmark.svg\" width=\"200px\"/\u003e\n\u003c/div\u003e\n\n# golang\nUseful links about go\n\n## Runtime\n\n### Common\n1. [Visualizing Garbage Collection Algorithms](https://spin.atomicobject.com/2014/09/03/visualizing-garbage-collection-algorithms/) - Ken Fox\n2. [Tracing Garbage Collection](https://en.wikipedia.org/wiki/Tracing_garbage_collection) - Wikipedia\n3. [On-the-Fly Garbage Collection: An Exercise in Cooperation](https://lamport.azurewebsites.net/pubs/garbage.pdf) - Edsger W. Dijkstra\n---\n\n### The Golang Scheduler\n1. [The Golang Scheduler](https://www.kelche.co/blog/go/golang-scheduling/) - Kevin Kelche\n1. [Scheduling In Go : Part I - OS Scheduler](https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part1.html) - William Kennedy\n1. [Scheduling In Go : Part II - Go Scheduler](https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.html) - William Kennedy \n1. [Scheduling In Go : Part III - Concurrency](https://www.ardanlabs.com/blog/2018/12/scheduling-in-go-part3.html) - William Kennedy\n1. [Планирование в Go: Часть I — Планировщик ОС](https://habr.com/ru/articles/478168/) - William Kennedy (перевод)\n1. [Планирование в Go: Часть II — Планировщик Go](https://habr.com/ru/articles/489862/) - William Kennedy (перевод)\n1. [Планирование в Go: Часть III — Конкурентность](https://habr.com/ru/articles/761606/) - William Kennedy (перевод)\n1. [Understanding the Go Scheduler and discovering how it works](https://medium.com/@sanilkhurana7/understanding-the-go-scheduler-and-looking-at-how-it-works-e431a6daacf) - Sanil Khurana\n1. :movie_camera: [Go scheduler: Implementing language with lightweight concurrency](https://www.youtube.com/watch?v=-K11rY57K7k) - Dmitry Vyukov\n1. :movie_camera: [Планировщик Go](https://www.youtube.com/watch?v=TRoFIaHdjB8) - ТиПМС 9\n1. 🎥 [Внутреннее устройство планировщика Go](https://youtu.be/P2Tzdg8n9hw?si=uRX7SnONEY58jXgf) - Владимир Балун\n---\n\n### Go GC\n1. [A Guide to the Go Garbage Collector](https://go.dev/doc/gc-guide)\n2. [runtime/mgc.go](https://github.com/golang/go/blob/dev.boringcrypto.go1.17/src/runtime/mgc.go#L5)\n3. [Go 1.5 concurrent garbage collector pacing](https://docs.google.com/document/d/1wmjrocXIWTr1JxU-3EQBI6BK6KgtiFArkG47XK73xIQ/edit#heading=h.xy314pvxblbm) - Google\n4. [GC scanning of stacks](https://docs.google.com/document/d/1un-Jn47yByHL7I0aVIP_uVCMxjdM5mpelJhiKlIqxkE/edit#heading=h.bvezjdnoi4no) - Google\n5. [Go Blog - Go GC: Prioritizing low latency and simplicity](https://go.dev/blog/go15gc) - Richard Hudson\n6. [Go Blog - Getting to Go: The Journey of Go's Garbage Collector](https://go.dev/blog/ismmkeynote) - Richard Hudson\n7. :movie_camera: [Go GC: Solving the Latency Problem](https://www.youtube.com/watch?v=aiv1JOfMjm0\u0026list=PL2ntRZ1ySWBf-_z-gHCOR2N156Nw930Hm\u0026index=17) - Rick Hudson\n8. [Golang’s Real-time GC in Theory and Practice](https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/) - Will Sewell\n9. [Concurrent garbage collection](https://github.com/rubinius/rubinius-website-archive/blob/cf54187d421275eec7d2db0abd5d4c059755b577/_posts/2013-06-22-concurrent-garbage-collection.markdown) - Dirkjan Bussink\n10. [Why golang garbage-collector not implement Generational and Compact GC?](https://groups.google.com/g/golang-nuts/c/KJiyv2mV2pU)\n11. [How Does the Garbage Collector Mark the Memory?](https://medium.com/a-journey-with-go/go-how-does-the-garbage-collector-mark-the-memory-72cfc12c6976) - Vincent Blanchon\n12. [How Does the Garbage Collector Watch Your Application?](https://medium.com/a-journey-with-go/go-how-does-the-garbage-collector-watch-your-application-dbef99be2c35) - Vincent Blanchon\n13. [How Does the Garbage Collector Mark the Memory?](https://medium.com/a-journey-with-go/go-how-does-the-garbage-collector-mark-the-memory-72cfc12c6976) - Vincent Blanchon\n14. [Memory Management and Allocation](https://medium.com/a-journey-with-go/go-memory-management-and-allocation-a7396d430f44) - Vincent Blanchon\n15. [Go scheduling and Garbage collection](https://medium.com/@openmohan/go-scheduling-and-garbage-collection-91b5144bc26b) - Mohan Prasath\n16. [Garbage Collection In Go : Part I - Semantics](https://www.ardanlabs.com/blog/2018/12/garbage-collection-in-go-part1-semantics.html) - William Kennedy\n17. [Garbage Collection In Go : Part II - GC Traces](https://www.ardanlabs.com/blog/2019/05/garbage-collection-in-go-part2-gctraces.html) - William Kennedy\n18. [Garbage Collection In Go : Part III - GC Pacing](https://www.ardanlabs.com/blog/2019/07/garbage-collection-in-go-part3-gcpacing.html) - William Kennedy\n19. [Go’s march to low-latency GC](https://blog.twitch.tv/en/2016/07/05/gos-march-to-low-latency-gc-a6fa96f06eb7/#2f2f) - Rhys Hiltner\n20. [Почему Discord переходит с Go на Rust](https://habr.com/ru/post/487116/)\n21. [Предотвращаем утечки памяти в Go, ч. 1. Ошибки бизнес-логики](https://habr.com/ru/company/ncloudtech/blog/675390/) - Виталий Исаев\n22. [Предотвращаем утечки памяти в Go, ч. 2. Ошибки бизнес-логики](https://habr.com/ru/company/ncloudtech/blog/676960/) - Виталий Исаев\n23. [Анализ механизма сбора мусора Go](https://russianblogs.com/article/3396205378/)\n24. [In-depth analysis of Golang's GC scanning object implementation](https://blog.600mb.com/a?ID=01750-8ccdc0e3-5fd3-47c1-a302-88bf6c5be2fa)\n25. :movie_camera: [Как устроен garbage collector в Go 1.9](https://www.youtube.com/watch?v=CX4GSErFenI) - Андрей Дроздов, Avito\n26. :movie_camera: [Как устроена сборка мусора в Golang](https://www.youtube.com/watch?v=CX4GSErFenI) - Дмитрий Кривенко\n27. :movie_camera: [P99 Conf Logo 2022: Large-Scale, Semi-Automated Go Garbage Collection Tuning at Uber](https://www.youtube.com/watch?v=vmFWSGE51w0) - Cristian Velazquez, Uber\n28. :movie_camera: [GopherCon 2019: The garbage collector](https://www.youtube.com/watch?v=gPxFOMuhnUU) - Maya Rosecrance\n29. :movie_camera: [GopherCon 2022: Control Theory and Concurrent Garbage Collection Deep Dive](https://www.youtube.com/watch?v=We-8RSk4eZA\u0026list=PL2ntRZ1ySWBfiSJSt-zPRbVSMDfK0EwQC) - Madhav Jivrajani\n30. :movie_camera: [GopherCon Singapore 2019: Garbage Collection Semantics](https://www.youtube.com/watch?v=q4HoWwdZUHs) - William Kennedy\n31. :movie_camera: [Ozon Go Meetup Moscow 2022](https://www.youtube.com/watch?v=PB4vA5eId4c) - Moguchev Leonid\n32. [[Golang] Garbage Collection in General](https://blog.devgenius.io/golang-garbage-collection-in-general-c28ae82558c4) - Satyajit Roy\n---\n\n### Memmory \n1. [Structure size optimization in Golang (alignment/padding). More effective memory layout (linters)](https://itnext.io/structure-size-optimization-in-golang-alignment-padding-more-effective-memory-layout-linters-fffdcba27c61) - Roman Romadin\n1. [Breaking the Type System in Golang (aka dynamic types)](https://medium.com/@utter_babbage/breaking-the-type-system-in-golang-aka-dynamic-types-8b86c35d897b) - Sidhartha Mani\n1. [Механизмы выделения памяти в Go](https://www.youtube.com/watch?v=CX4GSErFenI) - Дмитрий Кривенко\n1. :movie_camera: [Потребление оперативной памяти в языке Go: проблемы и пути решения](https://www.youtube.com/watch?v=_BbhmaZupqs) - Виталий Исаев, МойОфис\n1. :movie_camera: [GopherCon UK 2018: Understanding Go's Memory Allocator](https://www.youtube.com/results?search_query=go+garbage+collector) - Andre Carvalho\n1. :movie_camera: [Memory Management in Go: The good, the bad and the ugly. GopherCon UK 2023](https://youtu.be/3CR4UNMK_Is?si=jUSg255KbIK5tnsp) - Liam Hampton\n1. [Go To Memory](https://habr.com/ru/companies/oleg-bunin/articles/676332/) - Антон @Adeon\n1. [Go Memory Management](https://povilasv.me/go-memory-management/) - Povilas\n---\n\n### Atomics\n1. [Атомики в Go: особенности внутренней реализации](https://habr.com/ru/articles/744822/) - Евгений Михалев\n---\n\n### sync.Pool\n1. [Go: понять дизайн Sync.Pool](https://dev-gang.ru/article/go-ponjat-dizain-syncpool-cpvecztx8e/)\n1. [Using sync.Pool](https://developer20.com/using-sync-pool/)\n1. [Go sync.Pool and the Mechanics Behind It](https://victoriametrics.com/blog/go-sync-pool/index.html)\n---\n\n### Channels\n1. :movie_camera: [Go Channels Internals](https://www.youtube.com/watch?v=Tp5xhTMFuLU) - Егор Гришечко\n1. :movie_camera: [Как на самом деле устроены каналы в Golang](https://www.youtube.com/watch?v=ZTJcaP4G4JM) - Николай Тузов\n1. :movie_camera: [Внутреннее устройство каналов в Go](https://www.youtube.com/watch?v=ZTJcaP4G4JM) - Николай Тузов\n---\n\n### Maps\n1. :movie_camera: [Как на самом деле устроен тип Map в Golang?](https://www.youtube.com/watch?v=P_SXTUiA-9Y)- Николай Тузов\n1. :movie_camera: [Go Map Internals](https://www.youtube.com/watch?v=3n1QkOI-y2g) - Егор Гришечко\n1. [Мапы в Go: уровень Pro](https://habr.com/ru/companies/avito/articles/774618/) - Павел Комаров\n1. [Hashmap(map) по версии Golang вместе с реализацией на дженериках](https://habr.com/ru/articles/704796/) - Sergei Makarov\n1. [Hashmap(map) по версии Golang. Часть 2](https://habr.com/ru/articles/717724/) - Sergei Makarov\n---\n\n### Slices\n1. [Slices in Go: Grow Big or Go Home](https://victoriametrics.com/blog/go-slice/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoguchev%2Fgolang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoguchev%2Fgolang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoguchev%2Fgolang/lists"}