タグ

msgpackに関するmanabouのブックマーク (6)

  • PythonのJSONパーサのメモリ使用量と処理時間を比較してみる | POSTD

    私は、多数の大容量のデータをあちこちに移動させなければならない(クライアント端末をHTTP APIに接続してデータを取得します)ような特殊な使用事例を扱っています。なぜだか ^(1) 、転送形式にはJSONが使われていました。ある時、その大容量のデータが、さらに巨大になったのです。数百メガバイトどころではありません。JSONのデコード処理を実行すると大量のRAMが使用されることが分かりました。たった240MBのJSONペイロードで4.4GBですよ。信じられません。 ^(2) 組み込みのJSONライブラリを使っていて、まず「もっと性能の良いJSONパーサがあるはずだ」と思いました。そんなわけで、計測を始めたのです。 さて、メモリ使用量の計測はやっかいです。 ps コマンドを使ったり、 /proc/<pid> を見たりすることはできますが、断片的なスナップショットが得られるだけで、実際の最大使

    PythonのJSONパーサのメモリ使用量と処理時間を比較してみる | POSTD
  • msgpack-lite ピュアJavaScript実装の速いMessagePackライブラリ - Qiita

    MessagePack のエンコード・デコードを行う Node.js 用の JavaScript のライブラリを公開しました。 エンコード処理は、C++ で書かれた msgpack ライブラリよりも速いです。(Node.js v0.10.40) デコード処理も、他の Pure JavaScript のライブラリより速いです。 デモ → http://kawanet.github.io/msgpack-lite/ 使い方 エンコード処理:(JSオブジェクトをBufferに変換) var msgpack = require("msgpack-lite"); var buffer = msgpack.encode({"foo": "bar"}); // => 81 A3 66 6F 6F A3 62 61 72

    msgpack-lite ピュアJavaScript実装の速いMessagePackライブラリ - Qiita
  • Javaのシリアライザーをいろいろ試してみる(Java標準、Kryo、MessagePack、Protocol Buffers、JBoss Marshalling) - CLOVER🍀

    少しシリアライズ関係のライブラリを目にする機会がありまして、そういえばこういうまとめ記事あったなぁということを思い出しました。 MessagePack、Kryo、Protocol Buffersなどのシリアライザーのパフォーマンス比較 http://blog.katty.in/4567 気にはなっていたものの、実際にこれらのライブラリを使ってコードを書いたことはなかったので(Protocol Buffersは除く)、いい機会だなと思い試してみました。 今回は、以下について書いていきます。 Java標準 Kryo MassagePack Protocol Buffers JBoss Marshalling 最後の方にかなり個人的な趣向が入っていますが、気にしない方向で…。Java標準が入っているのは、とりあえずといった感じで。 ここから、簡単にシリアライザーごとにシリアライズ対象のクラスと、

    Javaのシリアライザーをいろいろ試してみる(Java標準、Kryo、MessagePack、Protocol Buffers、JBoss Marshalling) - CLOVER🍀
  • javascript,ruby間でwebsocket+msgpack使って通信 - 2冊の本を3等分

    久々にまともなプログラミング系の記事です。✌('ω')✌ クライアント: javascript サーバー: ruby で、 クライアント <-> ( msgpack -> websocket -> msgpack ) <-> サーバーのやり方メモ。 目的 なんとなく。 なんか色々とひっかかった点があったのでコードだけ上げておきます。 socket.io使えよ ぐぅの音もでない coffeescript使えよ サンプルコードからいじって付け加えてってしただけなので 今度から使います 前書き 解説いるような複雑なものもないので、適当に動くコードだけペタってしときます。 見たら分かりますが今回の説明に必要なところしか書いてません。 msgpackはrpcは使用せずpack/unpackだけ使います。 javascript(クライアント) websocket HTML5API msgpack 取っ

    javascript,ruby間でwebsocket+msgpack使って通信 - 2冊の本を3等分
  • new msgpack.js with ArrayBuffer - latest log

    リクエストを頂いたので、 ArrayBuffer を使った msgpack.js を書きました。 とりあえずコードを書いた段階で、識者の意見を取り入れて I/F の改善や、妥当性のチェックとテストケースの作成、ベンチマークなどはこれからの作業になります。 https://gist.github.com/4106426 MobileSafari と Android 4.0 での DataView のサポート具合が良くわからなかったので、ArrayBuffer + Uint8Array だけで実装しています。 // encode a = msgpack.pack({ a: [1,2,3, { b: 4, c: "hoge" }, "abc"] }); // -> [129, 161, 97, 149, 1, 2, 3, 130, 161, // 98, 4, 161, 99, 164, 104

    new msgpack.js with ArrayBuffer - latest log
  • YAPC::Asia 2011 おつかれさまでした - かみぽわーる

    YAPC::Asia 2011 おつかれさまでした! 今回は前夜祭のRejectConfと2日目のLTでトークをしてきました。 RejectConf 当は難しいフレンド・タイムライン処理という話をしました。 この手の機能はWebのソーシャル系サービスなら必ずといっていいほど当たり前に実装されている機能で、小規模のサービスでも中規模のサービスでも程度の差こそあれ問題になり得ます。 効率的に実装されていない負荷の高い機能は、より多くの設備投資を必要にするし、サービスを提供する裏でより多くの人の労力を犠牲にしないと成り立たないので最悪です。 このトークを聴いてくれた人が「そういえばこういう問題があるんだっけな」と想像力を働かせられるきっかけになればうれしいなと思います。 LT MySQLでMessagePackの中身を検索ということで、MySQLに構造化されたデータをシリアライズして突っ込むこ

    YAPC::Asia 2011 おつかれさまでした - かみぽわーる
  • 1