OSS探訪

performanceと実用性を重視したC++20 core componentsをMetaの大規模system向け知見とともに提供するutility library

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
30,551
主要言語
C++
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

FollyはMetaが開発・利用するC++20 component collectionです。stdやBoostを補完する位置付けで、既存標準機能では満たせないperformance profileや大規模systemで必要なutilityを提供し、Metaの他のopen-source C++ projectでも共通dependencyとして使われます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

C++ standard libraryとBoostを補完するcore componentを提供する

Follyは標準/Boostに無い、または必要なperformance特性を満たさない機能を追加する方針で、独立性の高い多数のC++ componentをまとめています。

出典:[1]

大規模systemを意識したperformance-oriented implementationを使う

READMEはperformance at large scaleを共通themeとし、同期primitive、container、memory、async/network等の低level componentを含む設計を説明しています。

出典:[1]

CMakeで不足dependencyを取得しながらbuildできる

current CMake workflowはsystemに無いdependencyをfetchでき、release sourceからcmake -Bとcmake --buildでbuildできます。CIとsibling project向けにはgetdeps.pyも提供されます。

出典:[1]

向いている用途

high-performance C++ serviceやsystem componentの共通utilityに向く

標準libraryだけでは不足するperformance-sensitive data structureやconcurrency/network utilityが必要なC++ projectに適します。

出典:[1]

導入前の確認

commit間ABI compatibilityを前提にしない

READMEはcommitからcommitへのABI compatibilityを保証しないと明記し、一般にstatic library buildを推奨しています。release/tagとdependencyをまとめて固定します。

出典:[1]

experimental namespaceをclient stable APIとして使わない

folly/experimentalはFolly内部やMetaで使われる場合があってもclient useに十分stableではないとREADMEが警告しています。

出典:[1]

root licenseとbundled third-party licenseを分けて確認する

project本体はApache-2.0ですが、LICENSEにはfolly/external/farmhash等のthird-party licenseも含まれます。redistribution時はbundled noticeを確認します。

出典:[3]

参考にした公式資料

  1. [1]Folly v2026.09.28.00 README(2026-10-04)
  2. [2]Folly v2026.09.28.00 release(2026-10-04)
  3. [3]Folly Apache-2.0 and bundled notices(2026-10-04)
編集部からの補足

Follyはcommit間のABI compatibilityを保証しないためREADMEはstatic buildを推奨しています。release/tagを固定し、依存library群も同じbuild graphで再現してください。folly/experimentalはclient利用向けstable APIではありません。

3ステップで試す

  1. 1

    Folly release sourceを取得する

    weekly-style release tagを固定してsourceを取得します。

    git clone --depth 1 --branch v2026.09.28.00 https://github.com/facebook/folly.git folly-2026.09.28
  2. 2

    test/benchmarkなしでCMake configureする

    systemに無いdependencyはCMakeがfetchする場合があります。installではなくlocal build directoryに閉じます。

    cmake -S folly-2026.09.28 -B folly-2026.09.28/_build -DBUILD_TESTS=OFF -DBUILD_BENCHMARKS=OFF
  3. 3

    Folly library targetをbuildする

    system installせずrelease sourceがcompileできることを確認します。FollyはABI compatibilityを保証しないため、consumer側も同じreleaseへ固定してください。

    cmake --build folly-2026.09.28/_build --target folly -j2
公式READMEで確認

成長

成長の推移 · 直近30日

30,551 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
394
Open PR
151

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
30,551
Forks
5,875
Watchers
996
Open Issues
330
Contributors
277
所有者種別
Organization
主要言語
C++
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?