タグ

messagepackに関するakishin999のブックマーク (9)

  • GraphQLとMessagePackは相性がよさそう - Islands in the byte stream

    MessagePackはJSONのようなデータをシリアライズできるbinary formatで、JavaScript実装である msgpack-javascriptを基準で考えると次のような特徴があります: JSONよりencodeもdecodeも少し速い かつ、streaming decodeができるので fetch() のresponseのdecodeの効率がとてもよい とはいえ実用上は「JSONより遅くない」ということのほうが重要ではある binaryを直接扱える これに対してJSONでbinaryを扱うときははbase64などでエンコードする必要がある timestamp型があり、デフォルトではJSのDateにマッピングされる Intl.DateTimeFormatへの入力としてならこれで必要十分 マッピングをあとから変えることはできる 特にバイナリを直接扱えるのはJSONとくらべ

    GraphQLとMessagePackは相性がよさそう - Islands in the byte stream
  • mrubyでMessagePackを作った! - 涼風コンピュータblog

    MessagePackって何? MessagePackとはなにかといいますと、JSON互換の異なる言語間でデータ交換するためのシリアライズフォーマットです。JSONのような型を扱え、 JSONよりコンパクトで、速いと言われています。(mrubyではまだ性能評価していないので、今後やってみたいと思います。) ログコレクターで有名なfluentdというミドルウェアで使用されています。 MessagePack for mruby 今回、MessagePack for ruby v 0.5.5からmrubyにGEMとして移植しました。すべて移植したわけではないので、α版というところでしょうか。 MessagePack#pack,MessagePack#unpackメソッドでだいたいの型を使用出来るようになっています。 次の例は配列をシリアライズして、MessagePack#unpackメソッドでデ

    mrubyでMessagePackを作った! - 涼風コンピュータblog
  • Confusion about IETF draft for a fork of MessagePack

    Confusion about IETF draft for a fork of MessagePack In this article, I’d like to discuss the current situation concerning the MessagePack open source project and potential standardization by the Internet Engineering Task Force (IETF). The appropriateness of the recent activity surrounding this OSS project and the standardization draft proposal is of perplexing nature, so I hope to shed some light

    Confusion about IETF draft for a fork of MessagePack
  • MessagePackのIETFへの提案に関する困惑 - たごもりすメモ

    MessagePackというオープンソースプロジェクトの現状と IETF による標準化について、それが果たして正しいのか、と困惑せざるをえない事態が起きているので、それについて簡単に書く。何が起きているのか知らない人々に少しでも知ってもらえたら嬉しい。 なお、自分はMessagePackのユーザであって開発者ではない。MessagePackを使ったコードを書いて動かしているが、MessagePackそのもののデータフォーマットについて詳細まで知っているわけではないし、MessagePackの改善については特にいいアイデアを出せる気もしない。 現バージョンのMessagePackについてとりたてて不満はなかったが、最近文字列型を加えよう、あるいはもっと楽に文字列を扱えるようにしよう、という話が出てきた。JSON的に楽に扱えて更にバイナリデータを投入できるフォーマットの需要そのものは理解できる

    MessagePackのIETFへの提案に関する困惑 - たごもりすメモ
  • 汎用データフォーマットにたいする雑感 - tokuhirom's blog

    フォーマットの変更は、ユーザーに対して基的に不利益をあたえる バージョン情報が含まれているフォーマットならば問題はすくないユーザーはなにも考えたくないから汎用フォーマットをつかう できるだけなにも考えたくないゆるふわプログラマーがほとんどなのですYAML をみよ バージョンの差異と、プラットフォームごとの実装の非互換によってわけわかめである初期の時点でまともに実装できている処理系がすくなかったバージョン2を現在まともに処理できているのは libyaml ぐらいではないか? これはフォーマットの複雑さによるところが大きい1のライブラリと2のライブラリ、ユーザーには見分けがつかない状況 YAML::XS が2 で YAML.pm が 1 とどうしてわかる?非互換や、ユーザーのプログラムがこわれる変更は、まあなしね。Data::MessagePack2 とかがでたときに、たとえば AnyEve

  • JSONとMessagePack、シリアライズ性能比較 under the iOS - Qiita

    26日目、@adachi_c です。こんにちは〜。 今日は2台のiPhoneで通信して、JSONとMessagePackのシリアライズ、デシリアライズの速度を計る計測アプリ作ったんで、見てってください。 シリアライズとはなにか シリアライズというのは何かというと、他の環境で復元(デシリアライズ)できるように、環境依存なデータ構造を、システム間で相互理解できる形式に変換することです。 システムごとに、いろんなOS、言語、新旧の違いなどがあるかと思いますが、それぞれが相互運用性を維持するために、共通のメッセージ表現手法が必要です。それがJSONだとか、XMLのDOMやSAXに該当します。シリアライズ形式によっては、型情報を持っていることもあったりします。 OSや言語が異なるシステム間でAPIを設計するとき、このシリアライズを使うことが有効になるわけです。 どのシリアライズ方式をとるか では、様

    JSONとMessagePack、シリアライズ性能比較 under the iOS - Qiita
  • バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi

    Googleが公開したバイナリエンコード手法であるProtocol Buffersは、クライアントとサーバーの両方でシリアライズ形式を取り決めておき(IDL)、双方がそれに従ってデータをやりとりするようにします。 この方法では高速なデータのやりとりができる反面、IDLを書かなければならない、仕様を変えるたびにIDLを書き直さなければならない(あらかじめしっかりとIDLを設計しておかないとプログラミングを始められない)という面倒さがあります。 ※追記:Protocol BuffersのデシリアライザはIDLに記述されていないデータが来ても無視するので(Updating A Message Type - Protocol Buffers Language Guide)、仕様を拡張していっても問題ないようです。 一方JSONやYAMLなどのシリアライズ形式では、何も考えずにシリアライズしたデータ

    バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi
  • MessagePack: It's like JSON. but fast and small.

    It's like JSON. but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. Next: MessagePack is supported by over 50 programming languages and environm

  • Introducing the MessagePack - Blog by Sadayuki Furuhashi

    高速なシリアライズライブラリ MessagePack の新しいWebサイトをオープンしました! The MessagePack Project Ruby Inside でも取り上げられたようです: MessagePack: Efficient, Cross Language Binary Object Serialization 昨今、効率を重視したシリアライズライブラリが数多く登場しています。特に、大量の処理を行う大規模な基盤システム向けに開発されていることが多いようです。 少し探してみるだけでも、次のような事例が見つかります: BERT(githubで採用:Introducing BERT and BERT-RPC) Thrift(Facebookが開発:Thrift: Scalable Cross-Language Services Implementation) Avro(Hado

    Introducing the MessagePack - Blog by Sadayuki Furuhashi
  • 1