Why do you want libc to be 5 times slower than other libraries?

  • This post is really old (2008) and probably already resolved. Here is the jist of the optimization that this person provides:

    memory and string functions in libc have poor performance because you are not using XMM registers and you have no efficient way of dealing with unaligned data. The most efficient way of copying data when source and destination have different alignments is to read aligned into XMM registers; shift and combine consecutive reads so that they fit the alignment of the destination; then write aligned

  • For those that don't know, Agner's manuals ( http://agner.org/optimize/ ) are considered to be the #1 resource for learning and reference when programming optimized assembly

  • Worth reading the followup: https://sourceware.org/ml/libc-help/2008-08/msg00009.html

  • Wasn't this the post that eventually caused the eglibc fork that eventually became the primary glibc fork and merged back in?

  • So some guy complains that a code path in libc is slow, but refuses to actually do anything to fix it. What's noteworthy here? Besides, this particular complaint is 7 years old. Poster: is this still an issue?

  • > a.) GLIBC is a GPL licensed project where the copyright for the code in question has been assigned to the Free Software Foundation. All code that is contributed must be copyright assigned to the Free Software Foundation. This means that, regardless of the license of the reference code, we can not use 'open source' code from other projects unless it has been explicitly copyright assigned to the FSF.

    Such free software!