Sux.

sux é um conjunto de utilitários de alto desempenho das estruturas de dados sucintas básicas e avançadas em C ++ e Java.
Baixe Agora

Sux. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • LGPL
  • Preço:
  • FREE
  • Nome do editor:
  • Sebastiano Vigna
  • Site do editor:
  • http://archive4j.dsi.unimi.it/

Sux. Tag


Sux. Descrição

O SUX é um conjunto de utilitários de alto desempenho das estruturas de dados sucintas básicas e avançadas em C ++ e Java. O SUX é um conjunto de utilitários de alto desempenho das estruturas de dados básicas e avançadas de dados sucinting em C ++ e Java.here são algumas características importantes de "sux": · Uma nova implementação baseada em palavras-chave de classificação / consultas selecionadas para até 264 bits que é altamente competitivo com implementações de 32 bits conhecidas em arquiteturas de 64 bits (espaço adicional necessário é de 25% para classificação e 12,5% -37,5% para seleção); · Classificação esparsa / Selecionar estruturas para armazenar ponteiros, matrizes de bits de comprimento variável, etc. . · Código Java Implementando Hash perfeito mínimo usando cerca de 3 bits por string (também usando algumas ideias de palavras largas). Por que o C ++? C ++ é uma droga. Não, essa não é a razão. O problema é que, se você quiser comparar experimentalmente suas implementações de classificação / selecionar, você precisa de um idioma que o coloca no controle - cada aspecto computacional, incluindo erros de cache, perturba o resultado. O código C ++ em SUX usa o C ++ para o manuseio do namespace. Nenhuma característica orientada a objetos ou bizarra da linguagem é usada. Por que Java? Escrevendo no código Java que (essencialmente) tem que rolar bits repetidamente pode parecer uma coisa ruim. No entanto, deve-se levar em consideração os seguintes pontos: · Melhorias na JVMS fazem código de baixo nível escrito em Java mais rápido e mais rápido; muitas vezes, a penalidade de desempenho w.r.t. Um aplicativo equivalente de C / C ++ é relativamente pequeno. · As técnicas sucintas podem ser misturadas de várias maneiras diferentes, e uma linguagem orientada a objetos torna muito fácil jogar com diferentes implementações da mesma interface. · Uma linguagem orientada a objetos torna possível Para gravar interfaces como o BitVector, que fornecem uma ampla gama de acessos e métodos que podem ser eficazes em classes adequadas (por exemplo, LongArrayBitvector). · Quando você está convencido de sua estrutura de dados funciona, você pode facilmente reescrevê-lo em C / C ++ . O que é novo nesta versão: · Esta versão fornece uma nova função de hash perfeita mínima de monótona que usa log de log l bits por string, onde l é o comprimento da string em bits.


Sux. Software Relacionado