How to make the Fastest C# Serializer, In the case of ZeroFormatterYoshifumi Kawai
ずいぶんと長い間書いていなかった気がします…… さて、github で週末ちまちま書いていた MessagePack for CLI が、公式のリポジトリに取り込まれました。びっくりです。 MessagePack とは 相互運用可能で、コンパクトなバイナリ形式のオブジェクトシリアル化フォーマットまたはそのライブラリです。詳しくは 公式サイト なり、 @frsyuki さんのブログなどを参照してください。 今回はそれの .NET 用の実装を作った(ている)ということになります。 .NET 用の実装について .NET 用の実装は実は 3 代目だったりします。初代は @neuecc さんの blog のエントリで使用されているもの。わりとざっくりとした実装で、まだまだパフォーマンスチューニングの余地がある状態でした。 2 代目は NuGet で MessagePack for C# で出てくるも
こんばんは。やっと色々実装できたので公開します。 msgpack.codec.js msgpack.rpc.js 不完全ですが、MessagePack RPCのJavaScript binding出来ました。 ベースとして、@uupaaさんが作成されていらっしゃったmsgpack.jsを利用させていただきました。uupaaさんのコードはWeb上でよく見させていただいているのですが、本当に勉強になりますね。 さて、uupaaさんのコードですが、transportにhttpを用いる環境(ajax)では必要が無いため、MessagePackのstream deserializeには対応していません。 ただ、私が作成しているmod_websocketと連携させてMessagePackを扱おうとすると、どうしてもstream deserializeが必要になるため、その部分を追加させていただきま
Google の Protocol Buffers は、同技術と競合するバイナリシリアライズ形式である MessagePack と比べて、場合によっては 19倍 以上遅く、シリアライズ後のデータサイズは 7倍 以上になることがあります。平均的に見ると MessagePack の方が高速であり、高い性能が必要とされるなら Protocol Buffers より MessagePack を選択するべきです。 …とはいえどちらも非常に高速なので、実際にはそのAPIの違いで選んだ方が良い。Protocol Buffers と MessagePack は重視している点が異なり、使い勝手は大きく異なる。 Protocol Buffers とは何か Protocol BuffersはGoogleが開発したバイナリエンコード手法で、以下のような要素が提供されます: データフォーマットを記述するための言語(
先日のMessagePackハッカソンで議論した、MessagePack IDL の仕様についてまとめます。 実際のユースケースを元に、大規模な分散アプリケーションまでカバーできる実践的な仕様を目指しました。 基本的な文法 IDLは、大きく分けて 型の定義 と サービスの定義 に分かれます。 型の定義では、RPCでやりとりしたりログに保存したりするメッセージの構造を定義します。この構造の定義から、各言語のクラス定義や、シリアライズ・デシリアライズを行うコードを生成したりするのが、IDL処理系の役割の一つです。 サービスの定義では、RPCのインタフェースを定義します。この定義からクライアントやサーバのコードを生成します。 コメント # これはコメント // これもコメント /* これもコメント /* ネストしても */ 良いではないか */ 名前空間 名前空間は、Javaではパッケージ名、C
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く