BT

新しい あなたは、アーリーアダプター?それともイノベーター?そんな皆様に、InfoQの新機能をご案内しています。詳細はこちら

Google、FlatBuffersをオープンソース化: 効率の良いクロスプラットフォームのシリアライゼーションライブラリ

| 作者: Roopesh Shenoy フォローする 0 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2014年6月24日. 推定読書時間: 1分未満 |

原文(投稿日:2014/06/18)へのリンク

Google "Fun Propulsion Labs" チームがFlatBuffersをオープンソース化した。FlatBuffersは特にゲーム開発者のパフォーマンス要求をサポートするために作られており、シリアライズされたデータをバッファに格納する。バッファはパースのオーバーヘッドなしに、ファイルに格納したり、そのままネットワークに伝送したりすることができる。

FlatBuffersのキーフィーチャーは以下の通り。

  • パッキング/アンパッキングなしで、シリアライズされたデータにアクセス
  • メモリ効率とスピード - データにアクセスするのに必要なメモリはバッファのメモリのみ。追加のメモリは必要ない。
  • 柔軟性 - オプションフィールドを介した前方および後方互換性
  • わずかなコードフットプリント
  • 強い型付け - ランタイム時でなくコンパイル時に捕捉されるエラー
  • 利便性 - 生成されたC++ヘッダーを介した簡潔なコード。必要に応じてランタイム時に効率良くスキーマとJSONライクな表現をパースするオプション機能 (他のJSONパーサよりも高速で優れたメモリ効率)
  • クロスプラットフォーム: C++で、STLを除いて他に依存しないよう書かれており、C++コンパイラのある任意のプラットフォームで使える。現在のところ、Android、Linux、Windows、OSX用のライブラリの構築方法および使用例が含まれている。

Protocol buffersやJSONのパースといった他のソリューションと比べてFlatBuffersの良いところは、オーバーヘッドが少ないところであり、これは特にパースが不要であるおかげだ。

C++でFlatBuffersを使うには、次のようなステップをとることになる。

ディスカッショングループにおける初期の議論からも明らかなように、まだ少し荒削りなところがある。Javaのサポートも現段階では実験的だ。C#サポートは最も人気のあるリクエストの1つであり、次のリリースではサポートされるかもしれない。

FlatBuffersについてもっと学びたければ、ドキュメントを参照しよう。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT