Hacker News new | ask | show | jobs
by aidenn0 1631 days ago
glibc isn't particularly optimized for startup-time. It also defaults to dynamic linkage which adds several syscalls, and even if it is statically linked, it may dynamically load NSS plugins. (musl gets around the latter by hardcoding support for NSCD, a service that can cache the NSS results).

C11 adds several things that benefit from early initialization (like everything around threads), but GCC had some level of support for most of them before that.