<pedrocorreia.net ⁄>

<Serializing Data - JSON vs. Protocol Buffers ⁄ >

clicks: 3488 3488 2009-08-18 2009-08-18 goto programacao myNews programacao  Bookmark This Bookmark This

JSON and Protocol Buffers are two methods for serializing data, primarily used for lightweight server-client and inter-server communication. In this post we are having a look at the performance of the latest Protocol Buffers (version 2.2.0) compared to JSON, using Java on a G1 Android phone and Python with CJSON and SimpleJSON on a typical Linux system.

* JSON serializes data using UTF-8 / 16 / 32 encoding, with turn-key libraries for most programming languages. Any data structure can be serialized with JSON, although binary data (such as an image) has to be encoded with an algorithm like Base64 before.

* Protocol Buffers is an open-source project developed by Google and released under the BSD license. It uses a binary encoding which makes the serialized data a bit smaller and does not require binary data to be encoded before. The data-structures have to be described before serialization by creating a .proto file, compiling it with protoc and including the header files in the project. The libraries from Google are available for Java, Python and C++, with third party implementations for most other programming languages.

este é só um excerto do artigo, para aceder ao artigo completo, clique no link em baixo:
this is just a small excerpt from the article, to access the full article please click in the link below:


Subscribe News RSS  Subscribe News Updates by E-mail

myNews <myNews show="rand" cat="programacao" ⁄>

RouterJs: easy routing for your ajax Web applications new ...

RouterJs is a simple router for your ajax web apps. It's build upon History.js which means that Rout (...)

clicks: 16871 16871 2012-05-14 2012-05-14 goto url (new window) haithembelhaj.g... goto myNews programacao

Backbone computed properties new ...

This gist shows one way to implement read- and write-enabled computed properties on a Backbone Model (...)

clicks: 16679 16679 2012-05-13 2012-05-13 goto url (new window) https://gist.gi... goto myNews programacao

Create Instagram Filters With PHP new ...

In this tutorial, I'll demonstrate how to create vintage (just like Instagram does) photos with PHP (...)

clicks: 16471 16471 2012-05-12 2012-05-12 goto url (new window) net.tutsplus.co... goto myNews programacao

Android Query new ...

Android-Query (AQuery) is a light-weight library for doing asynchronous tasks and manipulating UI el (...)

clicks: 16854 16854 2012-05-12 2012-05-12 goto url (new window) code.google.com... goto myNews programacao

HTML5 jQuery Paint Plugin new ...

Websanova Paint is a HTML5 canvas based jQuery plugin. It allows you to free paint on a canvas area (...)

clicks: 27533 27533 2012-05-12 2012-05-12 goto url (new window) websanova.com/t... goto myNews programacao

Real-time Applications With Node.js and Socket.IO new ...

Hey everyone! Sorry about the long pause since the last blog post, life has been quite hectic for th (...)

clicks: 16815 16815 2012-05-11 2012-05-11 goto url (new window) codingcookies.c... goto myNews programacao

Sass vs. LESS vs. Stylus: Preprocessor Shootout new ...

CSS3 preprocessors are languages written for the sole purpose of adding cool, inventive features to (...)

clicks: 16128 16128 2012-05-11 2012-05-11 goto url (new window) net.tutsplus.co... goto myNews programacao

Gettings to know Backbone.ks new ...

In this series, we're going to learn how to build a fully functional contacts manager using Backbone (...)

clicks: 15615 15615 2012-05-10 2012-05-10 goto url (new window) net.tutsplus.co... goto myNews programacao