LevelDB vs. std :: map
En nuestra aplicación usamosstd::map
para almacenar datos (clave, valor) y utilizar la serialización para almacenar esos datos en el disco. Con este enfoque, descubrimos que la E / S del disco es un cuello de botella en el rendimiento y encontrar valores con la clave no es muy rápido.
Me he encontrado con LevelDB y estoy pensando en usarlo. Pero tengo algunas preguntas.
a documentación de @ LevelDB dice que está hecha para un par de valores clave (cadena, cadena). ¿Significa que no puedo usar para pares de valores de clave personalizados? Parece la diferencia entrestd::map
y LevelDB es que LevelDB es persistente ystd::map
funciona en la memoria. Entonces, ¿significa que el cuello de botella de E / S del disco será más problemático para levelDB.Más específicamente, ¿alguien puede explicar si LevelDB podría ser una mejor opción questd::map
?
PS: intenté usarhash_map
s pero parece ser más lento questd::map