BT

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

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

Leia em português

ブックマーク

原文(投稿日: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

コミュニティコメント

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

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

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。