Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Another factor to consider is release cadence:

- musl: 4 releases so far in 2019, 2 in 2018, 3 in 2017[1]

- uClibc: No releases since 2012[2]

- uClibc-ng: 2 releases in 2019, 3 in 2018, 6 in 2017[3]

- dietlibc: only 1 release since 2013[4]

[1] https://www.musl-libc.org/releases/

[2] https://uclibc.org/

[3] https://downloads.uclibc-ng.org/releases/

[4] https://www.fefe.de/dietlibc/



> - dietlibc: only 1 release since 2013[4]

you missed the first entry (20180924).

> Another factor to consider is release cadence

It's questionable that "more releases" == "better". Sometimes software is (ideally) just done (except for security issues). I use a lot of software that has no significant changes since decades. Regarding a libc-replacement I couldn't name a single important thing for the last years.

But of course, no release could also be a bad sign, like beeing abandoned or that is has just no users (testers).


> Regarding a libc-replacement I couldn't name a single important thing for the last years.

* Supporting new syscalls, such as getrandom(), or extra options on existing syscalls (e.g., socket options).

* Support for libc-components of new hardware versions, such as the register state information that you get on signals.

* Supporting new versions of C, such as C11.

* Improving performance of threading and memory allocation, among other things.

* Updating Unicode tables for locale information.


I don't think openbsd libc has ever kept the same version for two consecutive releases (six months). Which doesn't even count bug fixes as a version change. There's always something to add or remove.


musl has 4 for 2019.

musl-1.1.24.tar.gz (sig) - October 13, 2019

musl-1.1.23.tar.gz (sig) - July 16, 2019

musl-1.1.22.tar.gz (sig) - April 9, 2019

musl-1.1.21.tar.gz (sig) - January 21, 2019

http://www.musl-libc.org/oldversions.html


Good note - I missed those because the format of the text was different on the page I linked to. Fixed!


is libc something that generally requires multiple releases every year?


Given the chip architectural changes in the last 6 years, I'd hope to see at least more than one release in that time frame.


Often (not allways, naturally) it's enough to just rebuild with a newer compiler to leverage the new arch features.

Out of interest, what are some new things (those bringing real performance gain) from the last 6 years which a standard library needs to adapt to actively?

Edit: also note that OP made this pointed on purpose, the last release is from 2018, one year ago, not 2013...


The standard library benefits a great deal from ASM optimized implementations of functions. New instructions get added that can speed things up significantly.

the compiler will almost never automatically generate this code.


This is all true, but I’m not sure the authors of these libraries are that interested in performance.


It needs to keep up with underlying changes in the operating system from time to time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: