2011-08-23 7 views
8

Siguiente this benchmark BSON necesita más espacio en disco, tiempo para crear, serializar, deserializar y atravesar todos los elementos. La gran ventaja de BSON es que es mucho más rápido en atravesar. Entonces, ¿qué pasa con este punto de referencia?Punto de referencia: BSON vs JSON

+0

En la versión de C++, la deserialización de BSONObj no es operativa. Debería ser muy rápido. – ArtemGr

Respuesta

5

Su pregunta no está clara. ¿Quién afirma que "la gran ventaja de BSON es que es mucho más rápido en atravesar"? Wikipedia dice que BSON es diseñado "para ser eficiente tanto en el espacio de almacenamiento como en la velocidad de escaneo", pero eso solo significa que los diseñadores lo intentaron, aunque no lo lograron.

Tenga en cuenta que el índice de referencia compara muchas implementaciones JSON, y las hay más rápidas y más lentas; aparentemente alguien pasó mucho tiempo escribiendo analizadores JSON optimizados; de hecho, el sitio web de FastJson explica (en chino, que he leído a través del Traductor de Google) una serie de técnicas avanzadas de implementación.

Ver también Performant Entity Serialization: BSON vs MessagePack (vs JSON)

En pocas palabras: el punto de referencia podría estar equivocado o también podría tener nada malo. Los autores sugieren intentar reproducir los datos para su escenario específico, como es una buena práctica en general, ya que los puntos de referencia son solo puntos de datos. Por lo tanto, intente ejecutar el benchmark para BSON y FastJSON (u otra cosa que tenga un rendimiento interesante para JSON) con datos que sean representativos para usted.