Estructura de datos para manipular cadenas largas de bits
-
29-10-2019 - |
Pregunta
En Python, ¿cuál es la mejor estructura de datos de n
bits (donde n
es aproximadamente 10000) en el que realiza las operaciones binarias habituales (&
, |
, ^
) con otras estructuras de datos similares es rápido?
Solución
"Rápido" siempre es relativo :)
los Vector de bits El paquete parece hacer lo que necesitas. Sin embargo, no tengo experiencia con el rendimiento con él.
También hay una Bitstring implementación. Quizás haga algunas medidas para averiguar, ¿cuál es más representante para sus necesidades específicas?
Si no desea una clase específica y no necesita cosas como cortar o contar bits, podría estar bien simplemente usando Python's long
valores que son enteros de longitud arbitraria. Esta podría ser la implementación más desempeñada.
Esta qestion Parece ser similar, aunque el autor necesita menos bits y requiere una biblioteca estándar.
Otros consejos
Además de los mencionados por Martinstettner, también está el bitray Módulo, que he usado en múltiples ocasiones con excelentes resultados.
PD: ¡Mi respuesta número 100, Wohooo!