{"slug": "musl", "name": "musl", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Lightweight, standards-conforming C standard library for Linux, an alternative to glibc.", "recommenders": 6, "commenters": 8, "warners": 1, "score": 4.261, "rising": 3.02, "first": "2025-11-02", "latest": "2026-10-10", "why": "Liked for building statically linked, self-contained binaries and minimal Linux systems as a simpler replacement for glibc.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 7, "neutral": 1, "compare": 0, "warn": 1}, "spark": [1, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1], "listed": true, "loved": ["Static linking", "Glibc alternative"], "caveat": "Slow malloc", "short_quote": "I use musl for my Rust stuff because I have noticed that for the stuff I write it appears to have a lower memory footprint", "icon": true, "domain": null, "github_repo": null, "official_url": "https://musl.libc.org/", "pricing": "open source", "aliases": ["musl"], "verdict": [{"text": "Liked for building statically linked, self-contained binaries", "cites": [{"id": 800592853, "item_id": 50037053, "url": "https://news.ycombinator.com/item?id=50037053", "by": "1vuio0pswjnm7", "date": "2026-10-10", "stance": "recommend", "quote": "Otherwise the entire userland is statically-linked", "excerpt": "https://shrub.industries/words/software.html \"i do not use software that does not support musl\" I have a minimal glibc chroot for certain large programs that still won't compile with musl that I want to play around with But I don't rely on any of those programs Otherwise the entire userland is statically-linked \"i do not use software that refuses to statically link\" Ibid \"i do not use GNU software\" Ibid \"i refuse to ", "context": "builds own minimal Linux userland", "use_case": "libc for static userland", "switched_from": "", "story": "The Problem of System Communication"}, {"id": 791699776, "item_id": 49481236, "url": "https://news.ycombinator.com/item?id=49481236", "by": "nazgulsenpai", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "excerpt": "Same usecase here, I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "context": "", "use_case": "static binaries for containers", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 786528322, "item_id": 49158020, "url": "https://news.ycombinator.com/item?id=49158020", "by": "sumtas", "date": "2026-08-03", "stance": "recommend", "quote": "drops the GNU C library for the musl C library, which is more minimal and better optimized for static builds of packages", "excerpt": "Hi, I have been working on a unique and fully open source Linux distribution called Invelinux. The things that make it unique are as follows; It is not a fork of a fork, it is independent and RAM-based. Which means the minimum RAM requirements are ideally very low, around 256 MiB. It uses Toybox, a BSD-licensed alternative over Busybox for a more minimal userspace toolset. And it drops the GNU C library for the musl ", "context": "", "use_case": "C library", "switched_from": "glibc", "story": "Invelinux \u2013 An independent, RAM-based Linux distribution using Toybox and musl"}]}, {"text": " and minimal Linux systems as a simpler replacement for glibc.", "cites": [{"id": 786528322, "item_id": 49158020, "url": "https://news.ycombinator.com/item?id=49158020", "by": "sumtas", "date": "2026-08-03", "stance": "recommend", "quote": "drops the GNU C library for the musl C library, which is more minimal and better optimized for static builds of packages", "excerpt": "Hi, I have been working on a unique and fully open source Linux distribution called Invelinux. The things that make it unique are as follows; It is not a fork of a fork, it is independent and RAM-based. Which means the minimum RAM requirements are ideally very low, around 256 MiB. It uses Toybox, a BSD-licensed alternative over Busybox for a more minimal userspace toolset. And it drops the GNU C library for the musl ", "context": "", "use_case": "C library", "switched_from": "glibc", "story": "Invelinux \u2013 An independent, RAM-based Linux distribution using Toybox and musl"}, {"id": 746952752, "item_id": 46684547, "url": "https://news.ycombinator.com/item?id=46684547", "by": "1vuio0pswjnm7", "date": "2026-01-19", "stance": "recommend", "quote": "I use musl instead of glibc", "excerpt": "\"One such implementation that broke is the getaddrinfo function in glibc, which is commonly used on Linux for DNS resolution. When looking at its getanswer_r implementation, we can indeed see it expects to find the CNAME records before any answers:\" Wherever possible I compile with gethostbyname instead of getaddrinfo. I use musl instead of glibc Nothing against IPv6 but I do not use it on the computers and networks ", "context": "", "use_case": "C standard library", "switched_from": "glibc", "story": "What came first: the CNAME or the A record?"}, {"id": 732727109, "item_id": 45795444, "url": "https://news.ycombinator.com/item?id=45795444", "by": "Imustaskforhelp", "date": "2025-11-02", "stance": "recommend", "quote": "I genuinely prefer musl for this", "excerpt": "My thoughts on systemd are complicated but I wasn't around at the time of systemd Personally it is my opinion that Linux really split in two due to systemd partially because of the idea of the sheer size of systemd code There are things like https://github.com/Sweets/hummingbird which, I, not even a C person can understand and appreciate its simplicity. I am not saying that we always need such simplicity, but that I ", "context": "", "use_case": "libc", "switched_from": "", "story": null}, {"id": 791768625, "item_id": 49485539, "url": "https://news.ycombinator.com/item?id=49485539", "by": "lrvick", "date": "2026-08-28", "stance": "neutral", "quote": "Our entire linux distro is musl based", "excerpt": "I really find complaints about the minimum viable placeholder malloc in musl confusing. Does anyone seriously try to use malloc-ng for performance critical use cases? Our entire linux distro is musl based BUT we swap out the default malloc with mimalloc for high performance because why would you not? Best of both worlds. https://codeberg.org/stagex/stagex/src/branch/main/packages/core/musl/Containerfile#L54", "context": "runs a musl-based Linux distro", "use_case": "libc for Linux distro", "switched_from": "", "story": "Don't use musl if you care about performance"}]}, {"text": " The most common caveat is its slow default malloc, which several commenters replace with mimalloc", "cites": [{"id": 791768625, "item_id": 49485539, "url": "https://news.ycombinator.com/item?id=49485539", "by": "lrvick", "date": "2026-08-28", "stance": "neutral", "quote": "Our entire linux distro is musl based", "excerpt": "I really find complaints about the minimum viable placeholder malloc in musl confusing. Does anyone seriously try to use malloc-ng for performance critical use cases? Our entire linux distro is musl based BUT we swap out the default malloc with mimalloc for high performance because why would you not? Best of both worlds. https://codeberg.org/stagex/stagex/src/branch/main/packages/core/musl/Containerfile#L54", "context": "runs a musl-based Linux distro", "use_case": "libc for Linux distro", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 791728176, "item_id": 49483011, "url": "https://news.ycombinator.com/item?id=49483011", "by": "tombert", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for my Rust stuff because I have noticed that for the stuff I write it appears to have a lower memory footprint", "excerpt": "I feel with Rust I try and avoid re-allocations in most cases anyway, so I'm not sure that musl's allocator being slow would significantly affect performance (though I haven't benchmarked it). I feel like part of the appeal of Rust is that you can do imperatively-style mutation-heavy code comparatively risk-free, so despite me normally being the \"Functional Programming Nerd\", I generally write Rust in a style that's ", "context": "writes IO-bound Rust", "use_case": "libc for Rust programs", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 786213088, "item_id": 49138318, "url": "https://news.ycombinator.com/item?id=49138318", "by": "lrvick", "date": "2026-08-01", "stance": "recommend", "quote": "We use musl+mimalloc by default for our entire production operating systems", "excerpt": "We use musl+mimalloc by default for our entire production operating systems: https://stagex.tools", "context": "builds production operating systems", "use_case": "production OS libc", "switched_from": "", "story": "RipGrep musl binaries occasionally segfault during very-large searches"}]}, {"text": ", along with not being the fastest C library.", "cites": [{"id": 792264064, "item_id": 49516504, "url": "https://news.ycombinator.com/item?id=49516504", "by": "wakawaka28", "date": "2026-09-01", "stance": "warn", "quote": "If you do use MUSL then you aren't using the fastest library, so you must not care that much about performance.", "excerpt": "Stop spamming me with burning straw men bro. I am slightly irritated with you because I think you're trolling me or at least wasting my time by being an idiot. I have asked some rhetorical questions in my response below. Do not feel obligated to pipe up with more nonsense in response. >Have you used C++ I mainly work in C++, and have for the past 20 years. That also entails using a fair amount of C from time to time.", "context": "C++ developer for 20 years", "use_case": "C standard library", "switched_from": "", "story": "Don't use musl if you care about performance"}]}], "praise": [{"label": "Static linking", "summary": "Commenters use it to build fully static, self-contained binaries and userlands.", "quotes": [{"id": 800592853, "item_id": 50037053, "url": "https://news.ycombinator.com/item?id=50037053", "by": "1vuio0pswjnm7", "date": "2026-10-10", "stance": "recommend", "quote": "Otherwise the entire userland is statically-linked", "excerpt": "https://shrub.industries/words/software.html \"i do not use software that does not support musl\" I have a minimal glibc chroot for certain large programs that still won't compile with musl that I want to play around with But I don't rely on any of those programs Otherwise the entire userland is statically-linked \"i do not use software that refuses to statically link\" Ibid \"i do not use GNU software\" Ibid \"i refuse to ", "context": "builds own minimal Linux userland", "use_case": "libc for static userland", "switched_from": "", "story": "The Problem of System Communication"}, {"id": 786528322, "item_id": 49158020, "url": "https://news.ycombinator.com/item?id=49158020", "by": "sumtas", "date": "2026-08-03", "stance": "recommend", "quote": "drops the GNU C library for the musl C library, which is more minimal and better optimized for static builds of packages", "excerpt": "Hi, I have been working on a unique and fully open source Linux distribution called Invelinux. The things that make it unique are as follows; It is not a fork of a fork, it is independent and RAM-based. Which means the minimum RAM requirements are ideally very low, around 256 MiB. It uses Toybox, a BSD-licensed alternative over Busybox for a more minimal userspace toolset. And it drops the GNU C library for the musl ", "context": "", "use_case": "C library", "switched_from": "glibc", "story": "Invelinux \u2013 An independent, RAM-based Linux distribution using Toybox and musl"}, {"id": 791699776, "item_id": 49481236, "url": "https://news.ycombinator.com/item?id=49481236", "by": "nazgulsenpai", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "excerpt": "Same usecase here, I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "context": "", "use_case": "static binaries for containers", "switched_from": "", "story": "Don't use musl if you care about performance"}]}, {"label": "Glibc alternative", "summary": "Used in place of glibc, including to avoid glibc dependency problems.", "quotes": [{"id": 746952752, "item_id": 46684547, "url": "https://news.ycombinator.com/item?id=46684547", "by": "1vuio0pswjnm7", "date": "2026-01-19", "stance": "recommend", "quote": "I use musl instead of glibc", "excerpt": "\"One such implementation that broke is the getaddrinfo function in glibc, which is commonly used on Linux for DNS resolution. When looking at its getanswer_r implementation, we can indeed see it expects to find the CNAME records before any answers:\" Wherever possible I compile with gethostbyname instead of getaddrinfo. I use musl instead of glibc Nothing against IPv6 but I do not use it on the computers and networks ", "context": "", "use_case": "C standard library", "switched_from": "glibc", "story": "What came first: the CNAME or the A record?"}, {"id": 791699776, "item_id": 49481236, "url": "https://news.ycombinator.com/item?id=49481236", "by": "nazgulsenpai", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "excerpt": "Same usecase here, I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "context": "", "use_case": "static binaries for containers", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 786528322, "item_id": 49158020, "url": "https://news.ycombinator.com/item?id=49158020", "by": "sumtas", "date": "2026-08-03", "stance": "recommend", "quote": "drops the GNU C library for the musl C library, which is more minimal and better optimized for static builds of packages", "excerpt": "Hi, I have been working on a unique and fully open source Linux distribution called Invelinux. The things that make it unique are as follows; It is not a fork of a fork, it is independent and RAM-based. Which means the minimum RAM requirements are ideally very low, around 256 MiB. It uses Toybox, a BSD-licensed alternative over Busybox for a more minimal userspace toolset. And it drops the GNU C library for the musl ", "context": "", "use_case": "C library", "switched_from": "glibc", "story": "Invelinux \u2013 An independent, RAM-based Linux distribution using Toybox and musl"}]}, {"label": "Minimalism", "summary": "Valued for being more minimal and simpler than glibc.", "quotes": [{"id": 786528322, "item_id": 49158020, "url": "https://news.ycombinator.com/item?id=49158020", "by": "sumtas", "date": "2026-08-03", "stance": "recommend", "quote": "drops the GNU C library for the musl C library, which is more minimal and better optimized for static builds of packages", "excerpt": "Hi, I have been working on a unique and fully open source Linux distribution called Invelinux. The things that make it unique are as follows; It is not a fork of a fork, it is independent and RAM-based. Which means the minimum RAM requirements are ideally very low, around 256 MiB. It uses Toybox, a BSD-licensed alternative over Busybox for a more minimal userspace toolset. And it drops the GNU C library for the musl ", "context": "", "use_case": "C library", "switched_from": "glibc", "story": "Invelinux \u2013 An independent, RAM-based Linux distribution using Toybox and musl"}, {"id": 732727109, "item_id": 45795444, "url": "https://news.ycombinator.com/item?id=45795444", "by": "Imustaskforhelp", "date": "2025-11-02", "stance": "recommend", "quote": "I genuinely prefer musl for this", "excerpt": "My thoughts on systemd are complicated but I wasn't around at the time of systemd Personally it is my opinion that Linux really split in two due to systemd partially because of the idea of the sheer size of systemd code There are things like https://github.com/Sweets/hummingbird which, I, not even a C person can understand and appreciate its simplicity. I am not saying that we always need such simplicity, but that I ", "context": "", "use_case": "libc", "switched_from": "", "story": null}]}, {"label": "Production distros", "summary": "Whole Linux distributions and production operating systems are built on it.", "quotes": [{"id": 786213088, "item_id": 49138318, "url": "https://news.ycombinator.com/item?id=49138318", "by": "lrvick", "date": "2026-08-01", "stance": "recommend", "quote": "We use musl+mimalloc by default for our entire production operating systems", "excerpt": "We use musl+mimalloc by default for our entire production operating systems: https://stagex.tools", "context": "builds production operating systems", "use_case": "production OS libc", "switched_from": "", "story": "RipGrep musl binaries occasionally segfault during very-large searches"}, {"id": 791768625, "item_id": 49485539, "url": "https://news.ycombinator.com/item?id=49485539", "by": "lrvick", "date": "2026-08-28", "stance": "neutral", "quote": "Our entire linux distro is musl based", "excerpt": "I really find complaints about the minimum viable placeholder malloc in musl confusing. Does anyone seriously try to use malloc-ng for performance critical use cases? Our entire linux distro is musl based BUT we swap out the default malloc with mimalloc for high performance because why would you not? Best of both worlds. https://codeberg.org/stagex/stagex/src/branch/main/packages/core/musl/Containerfile#L54", "context": "runs a musl-based Linux distro", "use_case": "libc for Linux distro", "switched_from": "", "story": "Don't use musl if you care about performance"}]}, {"label": "Memory footprint", "summary": "One Rust developer sees lower memory use for IO-bound programs.", "quotes": [{"id": 791728176, "item_id": 49483011, "url": "https://news.ycombinator.com/item?id=49483011", "by": "tombert", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for my Rust stuff because I have noticed that for the stuff I write it appears to have a lower memory footprint", "excerpt": "I feel with Rust I try and avoid re-allocations in most cases anyway, so I'm not sure that musl's allocator being slow would significantly affect performance (though I haven't benchmarked it). I feel like part of the appeal of Rust is that you can do imperatively-style mutation-heavy code comparatively risk-free, so despite me normally being the \"Functional Programming Nerd\", I generally write Rust in a style that's ", "context": "writes IO-bound Rust", "use_case": "libc for Rust programs", "switched_from": "", "story": "Don't use musl if you care about performance"}]}], "caveats": [{"label": "Slow malloc", "summary": "The default allocator is described as slow or a placeholder, so users swap in mimalloc.", "quotes": [{"id": 791768625, "item_id": 49485539, "url": "https://news.ycombinator.com/item?id=49485539", "by": "lrvick", "date": "2026-08-28", "stance": "neutral", "quote": "Our entire linux distro is musl based", "excerpt": "I really find complaints about the minimum viable placeholder malloc in musl confusing. Does anyone seriously try to use malloc-ng for performance critical use cases? Our entire linux distro is musl based BUT we swap out the default malloc with mimalloc for high performance because why would you not? Best of both worlds. https://codeberg.org/stagex/stagex/src/branch/main/packages/core/musl/Containerfile#L54", "context": "runs a musl-based Linux distro", "use_case": "libc for Linux distro", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 791728176, "item_id": 49483011, "url": "https://news.ycombinator.com/item?id=49483011", "by": "tombert", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for my Rust stuff because I have noticed that for the stuff I write it appears to have a lower memory footprint", "excerpt": "I feel with Rust I try and avoid re-allocations in most cases anyway, so I'm not sure that musl's allocator being slow would significantly affect performance (though I haven't benchmarked it). I feel like part of the appeal of Rust is that you can do imperatively-style mutation-heavy code comparatively risk-free, so despite me normally being the \"Functional Programming Nerd\", I generally write Rust in a style that's ", "context": "writes IO-bound Rust", "use_case": "libc for Rust programs", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 786213088, "item_id": 49138318, "url": "https://news.ycombinator.com/item?id=49138318", "by": "lrvick", "date": "2026-08-01", "stance": "recommend", "quote": "We use musl+mimalloc by default for our entire production operating systems", "excerpt": "We use musl+mimalloc by default for our entire production operating systems: https://stagex.tools", "context": "builds production operating systems", "use_case": "production OS libc", "switched_from": "", "story": "RipGrep musl binaries occasionally segfault during very-large searches"}]}, {"label": "Performance", "summary": "One commenter says it is not the fastest C library for performance-sensitive work.", "quotes": [{"id": 792264064, "item_id": 49516504, "url": "https://news.ycombinator.com/item?id=49516504", "by": "wakawaka28", "date": "2026-09-01", "stance": "warn", "quote": "If you do use MUSL then you aren't using the fastest library, so you must not care that much about performance.", "excerpt": "Stop spamming me with burning straw men bro. I am slightly irritated with you because I think you're trolling me or at least wasting my time by being an idiot. I have asked some rhetorical questions in my response below. Do not feel obligated to pipe up with more nonsense in response. >Have you used C++ I mainly work in C++, and have for the past 20 years. That also entails using a fair amount of C from time to time.", "context": "C++ developer for 20 years", "use_case": "C standard library", "switched_from": "", "story": "Don't use musl if you care about performance"}]}, {"label": "Compatibility", "summary": "Some large programs still won't compile with musl and need a glibc chroot.", "quotes": [{"id": 800592853, "item_id": 50037053, "url": "https://news.ycombinator.com/item?id=50037053", "by": "1vuio0pswjnm7", "date": "2026-10-10", "stance": "recommend", "quote": "Otherwise the entire userland is statically-linked", "excerpt": "https://shrub.industries/words/software.html \"i do not use software that does not support musl\" I have a minimal glibc chroot for certain large programs that still won't compile with musl that I want to play around with But I don't rely on any of those programs Otherwise the entire userland is statically-linked \"i do not use software that refuses to statically link\" Ibid \"i do not use GNU software\" Ibid \"i refuse to ", "context": "builds own minimal Linux userland", "use_case": "libc for static userland", "switched_from": "", "story": "The Problem of System Communication"}]}], "who": [{"by": "1vuio0pswjnm7", "context": "builds own minimal Linux userland", "url": "https://news.ycombinator.com/item?id=50037053", "date": "2026-10-10"}, {"by": "lrvick", "context": "runs a musl-based Linux distro", "url": "https://news.ycombinator.com/item?id=49485539", "date": "2026-08-28"}, {"by": "tombert", "context": "writes IO-bound Rust", "url": "https://news.ycombinator.com/item?id=49483011", "date": "2026-08-28"}], "tags": ["for static binaries", "for containers", "for minimal Linux distros", "for Rust developers"], "use_cases": ["c standard library", "libc for static userland", "libc for linux distro", "libc for rust programs", "static binaries for containers", "c library"], "compared": [{"slug": "busybox", "name": "BusyBox", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "mimalloc", "name": "mimalloc", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49479826", "title": "Don't use musl if you care about performance", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=49995626", "title": "The Problem of System Communication", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49158019", "title": "Invelinux \u2013 An independent, RAM-based Linux distribution using Toybox and musl", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49133889", "title": "RipGrep musl binaries occasionally segfault during very-large searches", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46681611", "title": "What came first: the CNAME or the A record?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45794280", "title": "item 45794280", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"recommend": 4, "neutral": 1}, "2026-09": {"warn": 1}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 800592853, "item_id": 50037053, "url": "https://news.ycombinator.com/item?id=50037053", "by": "1vuio0pswjnm7", "date": "2026-10-10", "stance": "recommend", "quote": "Otherwise the entire userland is statically-linked", "excerpt": "https://shrub.industries/words/software.html \"i do not use software that does not support musl\" I have a minimal glibc chroot for certain large programs that still won't compile with musl that I want to play around with But I don't rely on any of those programs Otherwise the entire userland is statically-linked \"i do not use software that refuses to statically link\" Ibid \"i do not use GNU software\" Ibid \"i refuse to ", "context": "builds own minimal Linux userland", "use_case": "libc for static userland", "switched_from": "", "story": "The Problem of System Communication"}, {"id": 792264064, "item_id": 49516504, "url": "https://news.ycombinator.com/item?id=49516504", "by": "wakawaka28", "date": "2026-09-01", "stance": "warn", "quote": "If you do use MUSL then you aren't using the fastest library, so you must not care that much about performance.", "excerpt": "Stop spamming me with burning straw men bro. I am slightly irritated with you because I think you're trolling me or at least wasting my time by being an idiot. I have asked some rhetorical questions in my response below. Do not feel obligated to pipe up with more nonsense in response. >Have you used C++ I mainly work in C++, and have for the past 20 years. That also entails using a fair amount of C from time to time.", "context": "C++ developer for 20 years", "use_case": "C standard library", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 792064224, "item_id": 49504014, "url": "https://news.ycombinator.com/item?id=49504014", "by": "CyberDildonics", "date": "2026-08-30", "stance": "neutral", "quote": "Show me where musl prevents someone from writing a fast program.", "excerpt": "C strings are used extensively in C++. Again you prove how inexperienced you are. You can try to be patronizing if you want, but this doesn't make sense with you not understanding memory access patterns. If someone uses C++ they will use C++ strings. Have you used C++? It works well and it has been around for 40 years, you should give it a try. Keep deflecting with bullshit that is irrelevant to the choice of library", "context": "", "use_case": "C standard library", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 791768625, "item_id": 49485539, "url": "https://news.ycombinator.com/item?id=49485539", "by": "lrvick", "date": "2026-08-28", "stance": "neutral", "quote": "Our entire linux distro is musl based", "excerpt": "I really find complaints about the minimum viable placeholder malloc in musl confusing. Does anyone seriously try to use malloc-ng for performance critical use cases? Our entire linux distro is musl based BUT we swap out the default malloc with mimalloc for high performance because why would you not? Best of both worlds. https://codeberg.org/stagex/stagex/src/branch/main/packages/core/musl/Containerfile#L54", "context": "runs a musl-based Linux distro", "use_case": "libc for Linux distro", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 791728176, "item_id": 49483011, "url": "https://news.ycombinator.com/item?id=49483011", "by": "tombert", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for my Rust stuff because I have noticed that for the stuff I write it appears to have a lower memory footprint", "excerpt": "I feel with Rust I try and avoid re-allocations in most cases anyway, so I'm not sure that musl's allocator being slow would significantly affect performance (though I haven't benchmarked it). I feel like part of the appeal of Rust is that you can do imperatively-style mutation-heavy code comparatively risk-free, so despite me normally being the \"Functional Programming Nerd\", I generally write Rust in a style that's ", "context": "writes IO-bound Rust", "use_case": "libc for Rust programs", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 791699776, "item_id": 49481236, "url": "https://news.ycombinator.com/item?id=49481236", "by": "nazgulsenpai", "date": "2026-08-28", "stance": "recommend", "quote": "I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "excerpt": "Same usecase here, I use musl for compiling self contained Nim utilities I use on containers and servers without having to deal with glibc hell.", "context": "", "use_case": "static binaries for containers", "switched_from": "", "story": "Don't use musl if you care about performance"}, {"id": 786528322, "item_id": 49158020, "url": "https://news.ycombinator.com/item?id=49158020", "by": "sumtas", "date": "2026-08-03", "stance": "recommend", "quote": "drops the GNU C library for the musl C library, which is more minimal and better optimized for static builds of packages", "excerpt": "Hi, I have been working on a unique and fully open source Linux distribution called Invelinux. The things that make it unique are as follows; It is not a fork of a fork, it is independent and RAM-based. Which means the minimum RAM requirements are ideally very low, around 256 MiB. It uses Toybox, a BSD-licensed alternative over Busybox for a more minimal userspace toolset. And it drops the GNU C library for the musl ", "context": "", "use_case": "C library", "switched_from": "glibc", "story": "Invelinux \u2013 An independent, RAM-based Linux distribution using Toybox and musl"}, {"id": 786213088, "item_id": 49138318, "url": "https://news.ycombinator.com/item?id=49138318", "by": "lrvick", "date": "2026-08-01", "stance": "recommend", "quote": "We use musl+mimalloc by default for our entire production operating systems", "excerpt": "We use musl+mimalloc by default for our entire production operating systems: https://stagex.tools", "context": "builds production operating systems", "use_case": "production OS libc", "switched_from": "", "story": "RipGrep musl binaries occasionally segfault during very-large searches"}, {"id": 746952752, "item_id": 46684547, "url": "https://news.ycombinator.com/item?id=46684547", "by": "1vuio0pswjnm7", "date": "2026-01-19", "stance": "recommend", "quote": "I use musl instead of glibc", "excerpt": "\"One such implementation that broke is the getaddrinfo function in glibc, which is commonly used on Linux for DNS resolution. When looking at its getanswer_r implementation, we can indeed see it expects to find the CNAME records before any answers:\" Wherever possible I compile with gethostbyname instead of getaddrinfo. I use musl instead of glibc Nothing against IPv6 but I do not use it on the computers and networks ", "context": "", "use_case": "C standard library", "switched_from": "glibc", "story": "What came first: the CNAME or the A record?"}, {"id": 732727109, "item_id": 45795444, "url": "https://news.ycombinator.com/item?id=45795444", "by": "Imustaskforhelp", "date": "2025-11-02", "stance": "recommend", "quote": "I genuinely prefer musl for this", "excerpt": "My thoughts on systemd are complicated but I wasn't around at the time of systemd Personally it is my opinion that Linux really split in two due to systemd partially because of the idea of the sheer size of systemd code There are things like https://github.com/Sweets/hummingbird which, I, not even a C person can understand and appreciate its simplicity. I am not saying that we always need such simplicity, but that I ", "context": "", "use_case": "libc", "switched_from": "", "story": null}]}