This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]