Sux

SUX es un conjunto de utilidades de alto rendimiento de estructuras de datos sucintas básicas y avanzadas en C ++ y Java.
Descargar ahora

Sux Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • LGPL
  • Precio:
  • FREE
  • Nombre del editor:
  • Sebastiano Vigna
  • Sitio web del editor:
  • http://archive4j.dsi.unimi.it/

Sux Etiquetas


Sux Descripción

SUX es un conjunto de utilidades de alto rendimiento de estructuras de datos sucintas básicas y avanzadas en C ++ y Java. SUX es un conjunto de utilidades de alto rendimiento de estructuras de datos sucintas básicas y avanzadas en C ++ y Java. Aquí hay algunas características clave de "SUX": · Una implementación de una novela, basada en una palabra de rango / selección de consultas para hasta 264 bits que es altamente competitivo con las implementaciones conocidas de 32 bits en arquitecturas de 64 bits (el espacio adicional requerido es del 25% para la clasificación y el 12,5% -37.5% para la selección); · Sparse Rank / Select Structures para almacenar punteros, matrices de bit de longitud variable, etc. .; · Código de JAVA que implementa un hash perfecto mínimo utilizando alrededor de 3 bits por cadena (también usando algunas ideas de WOADWORD). ¿Por qué C ++? C ++ apesta. No, esa no es la razón. El problema es que si desea comparar experimentalmente sus implementaciones de clasificación / selección, necesita un idioma que lo pone en control, cada aspecto computacional, incluidas las fallas en caché, perturbe el resultado. El código C ++ en SUX solo usa C ++ para el manejo del espacio de nombres. No se usa ninguna característica orientada a objetos o extrañas del idioma. ¿Por qué Java? La escritura en el código de Java que (esencialmente) tiene que rodar bits una y otra vez puede parecer algo malo. Sin embargo, uno debe tener en cuenta los siguientes puntos: · Las mejoras en JVMS hacen que el código de bajo nivel sea escrito en Java más rápido y más rápido; A menudo, la penalización de rendimiento W.R.T. Una aplicación de C / C ++ equivalente es relativamente pequeña. · Las técnicas sucintas se pueden mezclar de varias maneras diferentes, y un lenguaje orientado a objetos hace que sea muy fácil jugar con diferentes implementaciones de la misma interfaz. · Un lenguaje orientado a objetos lo hace posible. Para escribir interfaces, como Bitvector, que proporciona una amplia gama de accesos y métodos que se pueden hacer eficientes en las clases adecuadas (por ejemplo, LongarrayBitvector). · Cuando esté convencido de que su estructura de datos funciona, puede reescribirlo fácilmente en C / C ++ .¿Qué es nuevo en esta versión: · Esta versión proporciona una nueva función de hash perfecta Monotone Minimal que utiliza bits de registro L de registro por cadena, donde L es la longitud de la cadena en bits.


Sux Software relacionado