Repolode
meta

meta/folly

Biblioteca C++20 open source do Facebook com componentes essenciais que complementam Boost e std e são amplamente usados na Meta.

Estrelas
30,553
Forks
5,879
Issues abertas
487
Último commit
ontem

O que é?

Folly (Facebook Open-source Library) é uma coleção de componentes C++20 desenvolvidos para uso prático e eficiência. Ela preenche lacunas quando a biblioteca padrão ou Boost não oferece algo necessário, ou quando essas implementações não atendem aos requisitos de desempenho. Os componentes são relativamente independentes e vão de alguns símbolos a módulos maiores; a biblioteca também costuma ser uma dependência compartilhada de outros projetos C++ open source da Meta.

Folly é compatível com gcc, clang ou MSVC com suporte a C++20. O build com CMake baixa as dependências que não estiverem disponíveis no sistema, e o getdeps.py também pode compilar a biblioteca junto com os projetos relacionados. Ela funciona em Linux (x86-32, x86-64, ARM), iOS, macOS e Windows (x86-64), embora o CMake só seja testado em algumas dessas plataformas. O projeto não garante compatibilidade de ABI entre commits; por isso, recomenda-se compilá-la como biblioteca estática em um prefixo temporário.

Código novo ou instável fica no diretório experimental e não se destina ao uso por clientes. A documentação está na pasta docs, e há testes unitários para cada componente.

Recursos principais

  • 01Oferece componentes C++20 para tarefas em que a biblioteca padrão ou Boost não dão conta.
  • 02Compila com CMake, que baixa automaticamente as dependências ausentes.
  • 03É compatível com gcc, clang e MSVC em Linux, macOS, Windows e iOS.
  • 04Inclui o script getdeps.py, que compila Folly junto com os projetos relacionados.
  • 05Oferece testes unitários para cada componente e integração opcional com googletest.

Casos de uso

  • Adicionar componentes utilitários de alto desempenho a uma base de código C++ de grande porte.
  • Compilar projetos C++ que dependem de outras bibliotecas C++ open source da Meta.
  • Substituir containers, utilitários de strings ou primitivas de sincronização implementados manualmente por alternativas testadas.

Início rápido

  1. 1

    Clone o repositório

    git clone https://github.com/facebook/folly
  2. 2

    Acesse o diretório do projeto

    cd folly
  3. 3

    Configure o build do CMake (busca as dependências ausentes)

    cmake -B _build
  4. 4

    Compile a biblioteca

    cmake --build _build

Antes de usar

  • Não há garantia de compatibilidade ABI entre commits; por isso, recomenda-se compilar como biblioteca estática e fixar uma versão.
  • O build do CMake só é testado em algumas plataformas, sendo macOS e Linux as plataformas mínimas contempladas.
  • Muitos testes são desativados em builds para Windows.

Em coleções

Tópicos

#cpp#c-plus-plus-20#cpp-library#performance#cmake#concurrency

Perguntas frequentes

O que é folly?
Biblioteca C++20 open source do Facebook com componentes essenciais que complementam Boost e std e são amplamente usados na Meta. Folly (Facebook Open-source Library) é uma coleção de componentes C++20 desenvolvidos para uso prático e eficiência. Ela preenche lacunas quando a biblioteca padrão ou Boost não oferece algo necessário, ou quando essas implementações não atendem aos requisitos de desempenho. Os componentes são relativamente independentes e vão de alguns símbolos a módulos maiores; a biblioteca também costuma ser uma dependência compartilhada de outros projetos C++ open source da Meta.
folly é gratuito? Qual é a licença?
folly é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
folly ainda é mantido?
Manutenção ativa. O último commit de folly foi em 6 de nov. de 2026.
Para que posso usar folly?
Adicionar componentes utilitários de alto desempenho a uma base de código C++ de grande porte. Compilar projetos C++ que dependem de outras bibliotecas C++ open source da Meta. Substituir containers, utilitários de strings ou primitivas de sincronização implementados manualmente por alternativas testadas.
Como instalar folly?
Clone o repositório: git clone https://github.com/facebook/folly Acesse o diretório do projeto: cd folly Configure o build do CMake (busca as dependências ausentes): cmake -B _build Compile a biblioteca: cmake --build _build
Onde consigo folly?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/meta/folly

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados