{"id":6038,"date":"2022-09-01T02:14:30","date_gmt":"2022-08-31T20:44:30","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/"},"modified":"2022-09-01T02:14:30","modified_gmt":"2022-08-31T20:44:30","slug":"solved-attempting-to-reduce-executable-size-of-go-program-duplicate","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/","title":{"rendered":"[Solved] Attempting to reduce executable size of Go program [duplicate]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-57118863\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"57118863\" data-parentid=\"57118526\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Here are some things that the Go program includes that the C program does not include:<\/p>\n<ul>\n<li>\n<p>Container types, such as hash maps and arrays, and their associated functions<\/p>\n<\/li>\n<li>\n<p>Memory allocator, with optimizations for multithreaded programs<\/p>\n<\/li>\n<li>\n<p>Concurrent garbage collector<\/p>\n<\/li>\n<li>\n<p>Types and functions for threading, such as mutexes, condition variables, channels, and threads<\/p>\n<\/li>\n<li>\n<p>Debugging tools like stack trace dumping and the SIGQUIT handler<\/p>\n<\/li>\n<li>\n<p>Reflection code<\/p>\n<\/li>\n<\/ul>\n<p>(If you are curious exactly what is included, you can look at the symbols in your binary with debugging tools. On macOS and Linux you can use <code>nm<\/code> to dump the symbols in your program.)<\/p>\n<p>The thing is\u2014most Go programs use all of these features! It\u2019s hard to imagine a Go program that doesn&#8217;t use the garbage collector. So the creators of Go have not created a special way to remove this code from programs\u2014since nobody needs this feature. After all, do you really care how big <code>\"Hello, world!\"<\/code> is? <strong>No, you don\u2019t.<\/strong> <\/p>\n<p>From the FAQ <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/golang.org\/doc\/faq#Why_is_my_trivial_program_such_a_large_binary\">Why is my trivial program such a large binary?<\/a><\/p>\n<blockquote>\n<p>The linker in the gc toolchain creates statically-linked binaries by default. All Go binaries therefore include the Go runtime, along with the run-time type information necessary to support dynamic type checks, reflection, and even panic-time stack traces.<\/p>\n<\/blockquote>\n<p>Also keep in mind that if you are compiling on Windows with MSVC, you may be using a DLL runtime, such as MSVCR120.DLL&#8230; which is about 1 MB.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">6<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Attempting to reduce executable size of Go program [duplicate] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Here are some things that the Go program includes that the C program does not include: Container types, such as hash maps and arrays, and their associated functions Memory allocator, with optimizations for multithreaded programs Concurrent garbage collector Types and functions for threading, such as mutexes, condition variables, channels, and threads Debugging tools like &#8230; <a title=\"[Solved] Attempting to reduce executable size of Go program [duplicate]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\" aria-label=\"More on [Solved] Attempting to reduce executable size of Go program [duplicate]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[1608,596],"class_list":["post-6038","post","type-post","status-publish","format-standard","hentry","category-solved","tag-binaryfiles","tag-go"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Attempting to reduce executable size of Go program [duplicate] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Attempting to reduce executable size of Go program [duplicate] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Here are some things that the Go program includes that the C program does not include: Container types, such as hash maps and arrays, and their associated functions Memory allocator, with optimizations for multithreaded programs Concurrent garbage collector Types and functions for threading, such as mutexes, condition variables, channels, and threads Debugging tools like ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-31T20:44:30+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Attempting to reduce executable size of Go program [duplicate]\",\"datePublished\":\"2022-08-31T20:44:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\"},\"wordCount\":257,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"binaryfiles\",\"go\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\",\"name\":\"[Solved] Attempting to reduce executable size of Go program [duplicate] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-08-31T20:44:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Attempting to reduce executable size of Go program [duplicate]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Attempting to reduce executable size of Go program [duplicate] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Attempting to reduce executable size of Go program [duplicate] - JassWeb","og_description":"[ad_1] Here are some things that the Go program includes that the C program does not include: Container types, such as hash maps and arrays, and their associated functions Memory allocator, with optimizations for multithreaded programs Concurrent garbage collector Types and functions for threading, such as mutexes, condition variables, channels, and threads Debugging tools like ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/","og_site_name":"JassWeb","article_published_time":"2022-08-31T20:44:30+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Attempting to reduce executable size of Go program [duplicate]","datePublished":"2022-08-31T20:44:30+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/"},"wordCount":257,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["binaryfiles","go"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/","url":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/","name":"[Solved] Attempting to reduce executable size of Go program [duplicate] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-31T20:44:30+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-attempting-to-reduce-executable-size-of-go-program-duplicate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Attempting to reduce executable size of Go program [duplicate]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/6038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=6038"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/6038\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=6038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=6038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=6038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}