Google libera funções hash como código aberto
Google libera funções hash como código aberto
O Google anunciou a liberação de duas funções hash como código abertopara produzir valores hash de 64 e de 128 bits a partir de strings. Segundo a empresa, essas funções são adequadas para aplicativos que utilizem tabelas hash, mas não para criptografia.
Apesar de inicialmente ter otimizado essas funções para uso nos CPUs mais comuns dentro da empresa, o Google afirmou que as funcionalidades principais necessárias são comuns na maioria de PCs e de laptops. Entre elas estão registros de 64 bits, acesso rápido á memória para dados não ordenados e instruções em nível de paralelismo - a abordagem do Google no código envolve passos com pares de instruções matemáticas que são independentes, nenhuma dependendo do resultado da outra, podendo ser executadas em paralelo.
A companhia aponta uma desvantagem dessa abordagem, que é o fato de o código ser mais complexo do que o esperado, já que o foco foi na otimização da velocidades em vez de na simplicidade.
O Google espera que as duas funções hash melhorem a performance de exemplos já existentes em algo em torno de 30% a 100%. Um comentário no código-fonte aponta que a versão de 128 bits está otimizada para strings longas e que deve ser mais rápida que a de 64 bits para strings maiores que 2 mil bytes.
Os códigos-fonte para as versões de 64 e 128 bits do CityHash estão disponíveis para download no site do Google Code. Eles vêm na forma de dois arquivos: um em C++ e outro de cabeçalho.
Com informações de H-Online
Fonte: iMasters
Discussão (0)
Carregando comentários...