Publicado por Rafael Rosa em 29 de March de 2010

MessagePack – Serialização binária de objetos eficiente entre linguagens

O MessagePack repositório no GitHub é uma nova biblioteca e protocolo de serialização binária, criado para ser rápido e eficiente. O desenvolvedor Sadayuki Furuhashi o apresenta como uma alternativa mais rápida ao JSON e também tem suporte à várias linguagens populares.

Serialização é o processo de transformar um objeto, como uma string, um hash, ou mesmo um objeto criado por você, em um pacote de dados que pode ser transmitido através de uma conexão de rede, armazenado em um arquivo ou algo similar. Protocolos como o JSON, o YAML e o XML normalmente são utilizados para esse propósito, mas quando é necessário obter maior eficiência, os protocolos binários são uma alternativa melhor. Uma opção disponível aos desenvolvedores Ruby é a biblioteca Marshal, que faz parte da biblioteca padrão, mas esse protocolo não funciona bem em outras linguagens e tem problemas até mesmo em diferentes versões do Ruby.

Para demonstrar a velocidade do MessagePack, Sadayuki mostra o resultado de um teste de performance onde 200.000 objetos compostos de até 3 inteiros e uma string de 512 bytes são serializados e deserializados:

Apesar de estarmos falando sobre Ruby, também existem bibliotecas para Python, Perl, C/C++, Haskell, e Lua prontas para serem utilizadas.

Instalação e exemplo

Para instalar o MessagePack:

gem install msgpack

Exemplo:

require 'msgpack'

msg = [1,2,3].to_msgpack  #=> "x93x01x02x03"

MessagePack.unpack(msg)   #=> [1,2,3]

2 Comentários para “MessagePack – Serialização binária de objetos eficiente entre linguagens”

  1. #1
    Tweets that mention MessagePack - Serialização binária de objetos eficiente entre linguagens -- Topsy.com Disse:

    [...] This post was mentioned on Twitter by Ruby Inside Brasil. Ruby Inside Brasil said: Novo artigo: MessagePack - Serialização binária de objetos eficiente entre linguagens http://bit.ly/9Pr9uH [...]

  2. #2
    Tweets that mention MessagePack - Serialização binária de objetos eficiente entre linguagens -- Topsy.com Disse:

    [...] This post was mentioned on Twitter by Garoto que programa. Garoto que programa said: #Ruby MessagePack - Serialização binária de objetos eficiente entre linguagens: O MessagePack repositório no GitHu... http://bit.ly/9ymUSA [...]

Deixe um Comentário