米Facebook、社内で利用しているC++ライブラリ「Folly」をApacheライセンスで公開

 米Facebookは6月3日、C++ライブラリ「Folly(Facebook Open Source Library)」を公開した。同社のサービスで実際に利用されているライブラリで、同社のC++コードをオープンソース化する試みの1つとなる。

 FacebookはすでにHipHopやThriftといった技術をオープンソース化しており、また今後も内部で使用している技術のオープンソース化を進めていく方針だが、C++のコードについてはその多くがFacebook社内で利用している非公開のライブラリを利用しているため、そのままでは公開できないという問題があったとのこと。これを解決するため、まずはこのライブラリをオープンソースとして公開することにしたという。

 Follyではメモリ管理やベンチマークツール、ビット演算、データやエンディアン変換、文字列操作、JSONデータの操作、キューやベクタ、ハッシュマップ、ロック/同期、スレッド操作などの機能が提供されている。それぞれのコンポーネントは独立しており、コンポーネント間の依存性を意識せずに利用できる。またFollyに含まれる各コンポーネントは最適化が行われており、BoostやStandard Template Library(STL)などのC++ライブラリと比べて高速に動作するという。

 Follyは64ビット環境のGCC 4.6でテストされており、Fedora 17やUbuntu 12.04、Debian 7.0(開発コード「wheezy」)などでの動作が確認されているという。ライセンスはApache License 2で、GitHubのプロジェクトページより入手できる。

米Facebook
http://www.facebook.com/

GitHubのページ
https://github.com/facebook/folly