Pergunta

Eu estou tentando encontrar informações sobre glibc e em que medida ele usa a funcionalidade SSE.

Se ele é otimizado, posso usá-lo out-of-the-box?

Say Eu estou usando uma das distros Linux maiores, presumo que sua glibc é compilado para ser o mais genérico possível e ser tão portátil quanto possível, portanto, não otimizados?

Estou particularmente interessado nas funções memcpy e memcmp e como obter estas funções o mais rápido possível.

Foi útil?

Solução

glibc 2.8 não usa SSE para memcpy ou memcmp em tudo (em x86 ou x86_64) - ele usa algum conjunto que evita qualquer coisa que não é suportado em todas as CPUs da família escrita mão. Em glibc 2.10, um novo tipo de deslocalização, STT_GNU_IFUNC será apoiada, o que tornará melhores otimizações baseadas com o apoio CPU possível.

Outras dicas

Se você compilar com a maior configurações de otimização, memcpy e memcmp pode ser substituído por intrínsecos pelo compilador e glibc Nunca chamar em tudo. Em seguida, a mcpu e marcha opções do compilador irá selecionar o código mais rápido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top