Los tampones Protocolo no sólo va a ayudar a reducir el tamaño de la transferencia, sino también mejorar el tiempo necesario para codificar y enviar también.
Desarrollado en Google para ayudar a mejorar la transferencia de datos, Protocol Buffers es ideal para todos los protocolos basados en RPC y formatos de archivos adyacentes.
Actualmente la biblioteca es considerado el mejor en el negocio, siendo todavía se utiliza ampliamente en la producción en Google y muchos productos de otras compañías.
El paquete incluye módulos para C ++, Java y aplicaciones Python.
Puertos de terceros de Protocol Buffers han sido creadas por los desarrolladores de lenguajes como ActionScript, C, C #, Clojure, Common Lisp, D, Dart, Erlang, Go, JavaScript, Lua, MATLAB, OCaml, Objective-C, PHP, Perl, R, Ruby, Scala, Visual Basic, y muchos otros más
¿Qué hay de nuevo en esta versión:.
- C ++:
- Se ha solucionado el problema frendship para los compiladores de edad para hacer la biblioteca ahora gcc 3 compatible de nuevo.
- vcprojects fijos / extract_includes.bat para extraer compilador / plugin.h.
- Java:
- usos eliminados de JDK 1.6 sólo presenta para hacer la biblioteca ahora JDK 1.5 compatible de nuevo.
- Se ha corregido un error acerca de los valores de enumeración negativos.
- serialVersionUID ahora se define en los mensajes generados para serialización de Java.
- protoc Fijo utilizar java.lang.Object, lo que hace & quot; objeto & quot; ahora un nombre nuevo mensaje válido.
- Python:
- Experimental C ++ aplicación ahora requiere C ++ biblioteca protobuf instalado.
- Ver el README.txt en el directorio python para más detalles.
¿Qué hay de nuevo en la versión 2.3.0:
- C ++:
- Varios de velocidad y de código.
- DynamicMessageFactory es ahora totalmente thread-safe.
- método Mensaje :: Utf8DebugString () es como DebugString () pero evita escapar bytes UTF-8.
- Compilado en tipos de mensajes ahora pueden contener extensiones dinámicas, a través del uso de CodedInputStream :: SetExtensionRegistry ().
- bibliotecas Ahora compila compartidos (DLL) de forma predeterminada en Cygwin y MinGW, para que coincida con otras plataformas. Uso compartido --disable para evitar esto.
- Java:
- parseDelimitedFrom () y mergeDelimitedFrom () ahora detectar EOF y return false / null en lugar de lanzar una excepción.
- Se han solucionado algunos errores de pedidos inicialización.
- Correcciones para OpenJDK 7.
- Python:
- 10-25 veces más rápido que 2.2.0, siendo pura-Python.
- Llamar a un método de mutación en un sub-mensaje siempre instancia el mensaje en su matriz, aunque el método mutante realidad no mutar cualquier cosa (por ejemplo, el análisis de una cadena vacía).
- descriptores ampliadas un poco.
Optimizaciones de tamaño
Comentarios que no se encuentran