[PATCH 00/20] RFC: Add the CPU run-time library for C

Florian Weimer fweimer@redhat.com
Wed Jun 13 06:50:00 GMT 2018


On 06/13/2018 12:19 AM, H.J. Lu wrote:
> The current glibc has memory and string functions highly optimized for
> the current processors on the market.  But it takes years for released
> glibc to be installed on end-users machines.  In 2018, many machines
> with the latest Intel processors are still running glibc 2.17, which
> was released in February, 2013.
> 
> This patch set introduces the CPU run-time library for C, libcpu-rt-c.
> libcpu-rt-c contains a subset of the C library with the optimized
> functions.  The resulting libcpu-rt-c.so is binary compatible with
> older versions of libc.so so that libcpu-rt-c.so can be used with
> LD_PRELOAD or linked directly with applications.  For some workloads,
> LD_PRELOAD=libcpu-rt-c.so has shown to improve performance by as much
> as 20% on Skylake machine.

What do you gain from adding this to glibc?

Old systems will not have sufficiently new compilers and linkers, and 
they will not be able to directly build glibc and this new library.

It seems that this library does not define its own ABI, so it does not 
have to be tied to the glibc release schedule, but putting it into the 
source tree implies such alignment.

I don't doubt that this can be useful (but I doubt it will completely 
stop string function backports), but building and shipping this library 
as part of glibc seems detrimental to its goals.

Thanks,
Florian



More information about the Libc-alpha mailing list