タグ

messagepackに関するyou21979のブックマーク (5)

  • Msgpack cli-tech-aid-2013

    How to make the Fastest C# Serializer, In the case of ZeroFormatterYoshifumi Kawai

    Msgpack cli-tech-aid-2013
  • MessagePack for CLI

    ずいぶんと長い間書いていなかった気がします…… さて、github で週末ちまちま書いていた MessagePack for CLI が、公式のリポジトリに取り込まれました。びっくりです。 MessagePack とは 相互運用可能で、コンパクトなバイナリ形式のオブジェクトシリアル化フォーマットまたはそのライブラリです。詳しくは 公式サイト なり、 @frsyuki さんのブログなどを参照してください。 今回はそれの .NET 用の実装を作った(ている)ということになります。 .NET 用の実装について .NET 用の実装は実は 3 代目だったりします。初代は @neuecc さんの blog のエントリで使用されているもの。わりとざっくりとした実装で、まだまだパフォーマンスチューニングの余地がある状態でした。 2 代目は NuGet で MessagePack for C# で出てくるも

  • MessagePack RPC for JavaScript出来たよー

    こんばんは。やっと色々実装できたので公開します。 msgpack.codec.js msgpack.rpc.js 不完全ですが、MessagePack RPCJavaScript binding出来ました。 ベースとして、@uupaaさんが作成されていらっしゃったmsgpack.jsを利用させていただきました。uupaaさんのコードはWeb上でよく見させていただいているのですが、当に勉強になりますね。 さて、uupaaさんのコードですが、transportにhttpを用いる環境(ajax)では必要が無いため、MessagePackのstream deserializeには対応していません。 ただ、私が作成しているmod_websocketと連携させてMessagePackを扱おうとすると、どうしてもstream deserializeが必要になるため、その部分を追加させていただきま

  • Protocol Buffersは遅い - Blog by Sadayuki Furuhashi

    Google の Protocol Buffers は、同技術と競合するバイナリシリアライズ形式である MessagePack と比べて、場合によっては 19倍 以上遅く、シリアライズ後のデータサイズは 7倍 以上になることがあります。平均的に見ると MessagePack の方が高速であり、高い性能が必要とされるなら Protocol Buffers より MessagePack を選択するべきです。 …とはいえどちらも非常に高速なので、実際にはそのAPIの違いで選んだ方が良い。Protocol Buffers と MessagePack は重視している点が異なり、使い勝手は大きく異なる。 Protocol Buffers とは何か Protocol BuffersはGoogleが開発したバイナリエンコード手法で、以下のような要素が提供されます: データフォーマットを記述するための言語(

    Protocol Buffersは遅い - Blog by Sadayuki Furuhashi
    you21979
    you21979 2013/03/18
    「ソースを読めば理由は単純で、Protocol Buffers はデシリアライズ時にデータをコピーしているためメッセージのサイズが大きければ大きいほどデシリアライズ速度が遅くなります。」
  • MessagePack IDL 仕様案 - Blog by Sadayuki Furuhashi

    先日のMessagePackハッカソンで議論した、MessagePack IDL の仕様についてまとめます。 実際のユースケースを元に、大規模な分散アプリケーションまでカバーできる実践的な仕様を目指しました。 基的な文法 IDLは、大きく分けて 型の定義 と サービスの定義 に分かれます。 型の定義では、RPCでやりとりしたりログに保存したりするメッセージの構造を定義します。この構造の定義から、各言語のクラス定義や、シリアライズ・デシリアライズを行うコードを生成したりするのが、IDL処理系の役割の一つです。 サービスの定義では、RPCのインタフェースを定義します。この定義からクライアントやサーバのコードを生成します。 コメント # これはコメント // これもコメント /* これもコメント /* ネストしても */ 良いではないか */ 名前空間 名前空間は、Javaではパッケージ名、C

    MessagePack IDL 仕様案 - Blog by Sadayuki Furuhashi
  • 1