並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 19 件 / 19件

新着順 人気順

MessagePackの検索結果1 - 19 件 / 19件

  • 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

    • Geekなぺーじ:MessagePackがIETF標準化に巻き込まれてる件について

      ここ数日、MessagePackがIETFにおける標準化に巻き込まれてザワザワしています。 何が起きているかというと、MessagePackプロジェクトとは関係が無い第三者がIETFで派生物の標準化を進めようとしています(binarypack、Informational RFCとして)。 binarypackは、自らをMessagePackの派生であるとしながらも、MessagePackとの後方互換性が無いものです。 MessagePack is in danger! binarypackのInternet-Draftを提出しているのは、coreと6lowpanのchairです。 Chairであるかどうかが議論そのものに与える影響はそこまで大きくないとも言えますが、少なくともIETFでの話の進め方に精通した人物であることは確かです。 ただ、今回のInternet-Draftは、その人物がC

      • 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
        • バイナリシリアライズ形式「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が文字列とバイナリをわけないのは問題?

            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

              MessagePackが文字列とバイナリをわけないのは問題?
            • Treasure Dataを支える技術 - MessagePack編

              Treasure Dataの基本データフォーマットであるMessagePackと、msgpack-javaでの最適化について紹介します。Read less

                Treasure Dataを支える技術 - MessagePack編
              • phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張:phpspot開発日誌

                phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張 2010年12月15日- The MessagePack Project phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張。 結構前のエントリのご紹介なので知っている人も多いと思うのですがご紹介。 phpには serialize という関数があって、配列等の複雑なデータも文字列にして、ファイル等に保存し、後ほど unserialize 等で変数に戻せて便利なのですが、MessagePackとそのPHP拡張を使えば、より高速で、serialize後のデータも小さくできます。 MessagePack自体はkumofsの内部で使われていて、PHP以外にもc++, erlang, haskell, java, perl, pyth

                • MessagePackのIETFへの提案に関する困惑 - たごもりすメモ

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

                    MessagePackのIETFへの提案に関する困惑 - たごもりすメモ
                  • MessagePackフォーマット仕様にTimestamp型を追加 - Blog by Sadayuki Furuhashi

                    MessagePackフォーマット仕様のPull Request #209をマージし、MessagePackにTimestamp型を追加しました。 ※この記事の英語版は XXX にあります(翻訳中) Extension型の型コード -1 として定義されているため、後方互換性が維持されています。つまり、既にExtension型に対応しているデシリアライザであれば、Timestamp型を使用して作成されたデータを、Timestamp型に対応していない古いデシリアライズで読み出すことができます。 新しいTimestamp型には timestamp 32、timestamp 64、timestamp 96 の3つのフォーマットがあり、よく使う値をより少ないバイト数で保存できるようになっています。例えば、1970年〜2106年までの時刻で、秒までの精度しか持たない時刻であれば、合計6バイトで保存でき

                      MessagePackフォーマット仕様にTimestamp型を追加 - Blog by Sadayuki Furuhashi
                    • 高速メッセージングシステムMessagePack - 楽天テクノロジーカンファレンス2010 - Blog by Sadayuki Furuhashi

                      もはや先月のことですが、楽天テクノロジーカンファレンス2010で発表してきました。 MessagePackについて、かなり詳しく紹介しています。 MessagePack Rakuten Technology Conference 2010View more presentations from frsyuki. Ustream.tvの録画はこちら MessagePackの概要(7ページ目〜) MessagePack は、It's like JSON, but very fast and small. のフレーズの通り、「JSONみたいに使えるけど速くて小さい」シリアライズ形式です。 JSONがテキスト形式のシリアライズフォーマットであるのに対し、MessagePackは様々な工夫を取り入れたバイナリ形式のシリアライズフォーマットです。 MessagePack-RPC は、MessagePa

                        高速メッセージングシステムMessagePack - 楽天テクノロジーカンファレンス2010 - Blog by Sadayuki Furuhashi
                      • WebSocketでブラウザにプッシュ配信する - MessagePack-RPC+Rev-WebSocket - Blog by Sadayuki Furuhashi

                        先日、WebSocketのサーバライブラリ Rev-WebSocket をリリースしました。 前回のエントリではブラウザ同士で通信するチャットアプリケーションを紹介しましたが、実際にはTwitterクローラやWebアプリケーションなど、別のプログラムと連携してブラウザにプッシュ配信したくなると思います。 つまり↓このように、任意のプログラムからWebSocketサーバを経由して、ブラウザにデータをプッシュ配信します: プッシュ配信したいアプリケーションと WebSocket サーバの間は MessagePack-RPC で繋ぎます。 Rev-WebSocket と MessagePack-RPC は相性が良く、簡単に統合することができます*1。 アプリケーションから WebSocket サーバを経由してブラウザにデータを配信するコードは、↓このようになります。 require 'rubyg

                          WebSocketでブラウザにプッシュ配信する - MessagePack-RPC+Rev-WebSocket - Blog by Sadayuki Furuhashi
                        • neue cc - C#(.NET, .NET Core, Unity, Xamarin)用の新しい高速なMessagePack実装

                          と、いうものを作りました。MessagePackのC#版です。以前に作ったZeroFormatterのコードをベースに、バイナリの読み書きをMsgPackのフォーマットに差し替えたものになります。MsgPackのライブラリはすでにあるじゃん(MsgPack-Cli)!ってことなんですが、パフォーマンスにかなり差があります。 neuecc/MessagePack-CSharp JSON.NET(スタンダードで、豊富なAPIを持ってる)に対するJil(スピード特化、APIは必要十分はあるけれどJSON.NETほどではない)のようなものと思ってください。とはいえ、生のまま使っても問題は出ない(デフォルトのままで最高速が出るようにチューニングしてある)でしょうし、カスタマイズの口自体も十分用意してあります!詳しくは「拡張」の項で説明しますが、既に私自身が他のライブラリへの対応・インメモリデータベー

                          • 並列メッセージングフレームワーク「MessagePack-RPC for C++」リリース - Blog by Sadayuki Furuhashi

                            分散KVS kumofs のコードは、全体で約2万行です。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行で、全体の約半分を占めています。 並列イベント駆動I/Oフレームワーク「mpio」リリース ネットワークアプリケーションを実装する上で、もっとも大きな障壁は、ネットワークI/Oとプロトコルです。 では、それが両方ともフレームワークでサポートされ、コードを書く必要が無くなったらどうでしょうか? 54行で簡単な分散KVSを実装したり、140行で分散リアルタイム検索エンジンを実装することができます。すなわち、インデックス作成サーバ、検索サーバ、DBサーバなど、多数のサーバが連携し、スケールアウトの恩恵を得ることができるネットワークアプリケーションを、1台のホスト上で動作する並列アプリケーションとほぼ同じように書くことができます。 実装上の問題から解放されれば、並列性や耐障害

                              並列メッセージングフレームワーク「MessagePack-RPC for C++」リリース - Blog by Sadayuki Furuhashi
                            • ApacheのアクセスログをMessagePack形式で出力するためのモジュールを作りました : DSAS開発者の部屋

                              Apacheモジュールのログ出力、こんどはMessagePack版を作成しました。続いてはこちらをご紹介します。 Apacheのアクセスログを使い、ユーザアクセスの集計やパターン解析などというのは一般にどこでもやられていることだと思います。通常のアクセスログはテキストファイルなので、集計を行うためにスクリプト上で扱える変数・オブジェクト化が必要になりますね。1行ごとの各ログ項目を取り出すのに正規表現を使ったり、cutやawkなどを使い空白で分割するなど、色々工夫されていることと思います。 今回、MessagePack版のアクセスログ出力をやってみようと思い立ったのは、アクセスログをあらかじめ構造化済みの状態で保存しておければ、読み込みの際の解析する手間を省くことで解析処理の高速化が期待できるのではないか、そう考えたためです。MessagePackであれば、PythonやRubyはじめ様々な

                                ApacheのアクセスログをMessagePack形式で出力するためのモジュールを作りました : DSAS開発者の部屋
                              • MessagePack-RPCのプロトコル仕様(ドラフト)と実装例 - Blog by Sadayuki Furuhashi

                                以前に書いた MessagePack RPC プロトコル は少し古くなってしまったので、ここでまとめ直しておこうと思います。 MessagePack-RPCのプロトコルは、非同期型の呼び出しができる点(非同期プロトコル)が大きな特徴となっています。複数のサーバが相互に通信し合ったり、通信と計算をオーバーラップさせて高速化を図ったりするような、高度なネットワークアプリケーションを実装しやすくなります。 RPCライブラリと言うよりも、シンプルな非同期メッセージングライブラリと言えます。 ここではMessagePack-RPCのプロトコル仕様と、以上の特徴を活かせるような実装例も合わせて紹介します。 基本仕様:MessagePack-RPC specification version 0.1 MessagePack-RPCのプロトコルは、メソッドの呼び出すRequestメッセージと、それに対する

                                  MessagePack-RPCのプロトコル仕様(ドラフト)と実装例 - Blog by Sadayuki Furuhashi
                                • XML より JSON より MessagePack が便利です

                                  こんにちは。開発担当の森本です。 今回は、Fenrir Pass Connect を支える技術にちょっと関係のある、 web などを介してデータを交換するときの話をしたいと思います。 データ構造の共通化 → 実装も共通化できる プログラム間、端末同士、Web 経由などでデータを送ったり送られたりするときに、データは決まったフォーマットで送られる必要が有ります。 たとえば、今表示しているこのページでは、本文は HTML、画像は PNG などのバイナリフォーマット、web API との連携などは JSON や XML、スタイルシートや JavaScript はそれぞれ独自のテキストフォーマットが使用されています。 一般的なプロダクトでは上記のうち、XML や JSON が使用される事が多いと思います。 これらのフォーマットは普及率が高いため情報も多く、多くの処理系で枯れて安定した実装があるため

                                    XML より JSON より MessagePack が便利です
                                  • 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🍀
                                    • RailsのログファイルをMessagePackで超高速解析!|TechRacho by BPS株式会社

                                      最近Railsがガンガン出力するproduction.logを解析してどのアクションがリクエスト多いのか、DBがボトルネックになってるアクションはないか、などを調べているんですが、production.logがどんどん肥大化して、解析ツールの開発イテレーションを回す際の効率が悪くなってきました。 また似たようなツールをやたらめったらコピペで作ってきたため、開発効率も悪くなってきたので、ここでAPIを整理しつつ、あわよくばログをなめる部分を高速化できないものかと考えました。 シンプルに正規表現をつかって変化する箇所を切り出していたのですが、これではかなり重いのは自明ですし、がんばって文字列をパースするパーサを作ってもrubyではあまりスピードは出なそう、でもrubyで書きたいし.... ということで、一度パースしたデータを読込みに効率よさそうな形式に変換することで、次以降の解析を高速化しよう

                                        RailsのログファイルをMessagePackで超高速解析!|TechRacho by BPS株式会社
                                      • Ruby で MessagePack-RPC - Blog by Sadayuki Furuhashi

                                        高速なオブジェクトシリアライズ形式 MessagePack をプロトコルに採用したRPCライブラリをリリースしました。 Ruby を使って簡単にRPCサーバーやクライアントを実装できます。 msgpack-rpc MessagePack-RPC プロトコルは既にkumofsやクラスタ管理ツール「clx」などで利用しており、高速なサーバーの実装にも便利ツールの実装にも、幅広く使えるシンプルなプロトコル仕様になっています。 clxを使うと複数のサーバーをグループに分けて、同じグループに属するサーバーに対して同じコマンドを実行できます。コマンドは並列して実行されるので、ファイル転送(rsync)のような時間のかかるコマンドでも快適に使えます。 clxのコアは汎用的なRPCサーバーで、RPC以外の機能はすべてモジュールとして実装されています。モジュールは起動時に登録できるほか、実行中でも追加でき、

                                          Ruby で MessagePack-RPC - Blog by Sadayuki Furuhashi
                                        1