我试图找到关于glibc的信息以及它在多大程度上使用SSE功能.
如果它已经过优化,我可以开箱即用吗?
假设我正在使用一个较大的Linux发行版,我假设它的glibc被编译为尽可能通用并且尽可能便携,因此没有优化?
我对函数memcpy和memcmp以及如何尽可能快地获取这些函数特别感兴趣.
glibc 2.8根本不使用SSE用于memcpy或memcmp(在x86或x86_64中) - 它使用一些手写的程序集,避免了该系列的所有CPU都不支持的任何内容.在glibc 2.10中,将支持一种新的重定位类型STT_GNU_IFUNC,这将基于可能的CPU支持进行更好的优化.