我正在寻找关于glibc的信息,以及它在多大程度上使用SSE功能。
如果它被优化了,我能直接使用吗?
假设我正在使用较大的Linux发行版之一,我认为它的glibc编译成尽可能通用和可移植的形式,因此没有被优化?
我特别关注memcpy和memcmp函数,以及如何尽可能快地获取这些函数。
我正在寻找关于glibc的信息,以及它在多大程度上使用SSE功能。
如果它被优化了,我能直接使用吗?
假设我正在使用较大的Linux发行版之一,我认为它的glibc编译成尽可能通用和可移植的形式,因此没有被优化?
我特别关注memcpy和memcmp函数,以及如何尽可能快地获取这些函数。
glibc 2.8在x86或x86_64架构中完全不使用SSE进行memcpy或memcmp - 它使用一些手写汇编来避免任何不受该系列CPU支持的内容。在glibc 2.10中,将支持一种新的重定位类型STT_GNU_IFUNC,这将使基于CPU支持的更好优化成为可能。