Repolode
meta

meta/folly

Biblioteca open source de Facebook con componentes esenciales en C++20, complementaria a Boost y std, utilizada ampliamente dentro de Meta.

Estrellas
30,555
Forks
5,881
Issues abiertos
487
Último commit
hace 14 horas

¿Qué es?

Folly (Facebook Open-source Library) es una colección de componentes C++20 diseñados para un uso práctico y eficiente. Cubre necesidades que la biblioteca estándar o Boost no resuelven, o situaciones en las que sus implementaciones no ofrecen el rendimiento requerido. Los componentes son relativamente independientes y van desde unos pocos símbolos hasta módulos más grandes; además, la biblioteca suele ser una dependencia compartida de otros proyectos open source de C++ de Meta.

Folly es compatible con gcc, clang o MSVC con soporte para C++20. La compilación con CMake descarga las dependencias que no encuentra en el sistema, y getdeps.py también puede compilar la biblioteca junto con sus proyectos hermanos. Funciona en Linux (x86-32, x86-64, ARM), iOS, macOS y Windows (x86-64), aunque CMake solo se prueba en algunas de estas plataformas. El proyecto no garantiza la compatibilidad de ABI entre commits, por lo que se recomienda compilarlo como biblioteca estática en un prefijo temporal.

El código nuevo o inestable se encuentra en el directorio experimental y no está pensado para que lo usen los clientes. La documentación está en la carpeta docs y cada componente incluye pruebas unitarias.

Funciones clave

  • 01Ofrece componentes C++20 para tareas que la biblioteca estándar o Boost no resuelven adecuadamente.
  • 02Se compila con CMake, que descarga automáticamente las dependencias que faltan.
  • 03Es compatible con gcc, clang y MSVC en Linux, macOS, Windows e iOS.
  • 04Incluye un script getdeps.py que compila Folly y sus proyectos hermanos en conjunto.
  • 05Ofrece pruebas unitarias para cada componente e integración opcional con googletest.

Casos de uso

  • Añadir componentes de utilidad de alto rendimiento a una base de código C++ grande.
  • Compilar proyectos C++ que dependen de otras bibliotecas open source de C++ de Meta.
  • Reemplazar contenedores, utilidades de cadenas o primitivas de sincronización implementados a medida por alternativas probadas.

Inicio rápido

  1. 1

    Clona el repositorio

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

    Accede al directorio del proyecto

    cd folly
  3. 3

    Configura la compilación de CMake (descarga las dependencias que falten)

    cmake -B _build
  4. 4

    Compila la biblioteca

    cmake --build _build

Antes de usarlo

  • No se garantiza la compatibilidad ABI entre commits, por lo que se recomienda compilar como biblioteca estática y fijar una versión.
  • La compilación de CMake solo se prueba en algunas plataformas; macOS y Linux son las plataformas objetivo mínimas.
  • Muchas pruebas están deshabilitadas en las compilaciones para Windows.

En colecciones

Temas

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

Preguntas frecuentes

¿Qué es folly?
Biblioteca open source de Facebook con componentes esenciales en C++20, complementaria a Boost y std, utilizada ampliamente dentro de Meta. Folly (Facebook Open-source Library) es una colección de componentes C++20 diseñados para un uso práctico y eficiente. Cubre necesidades que la biblioteca estándar o Boost no resuelven, o situaciones en las que sus implementaciones no ofrecen el rendimiento requerido. Los componentes son relativamente independientes y van desde unos pocos símbolos hasta módulos más grandes; además, la biblioteca suele ser una dependencia compartida de otros proyectos open source de C++ de Meta.
¿folly es gratuito? ¿Qué licencia tiene?
folly es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿folly sigue mantenido?
Mantenimiento activo. El último commit de folly fue el 5 nov 2026.
¿Para qué puedo usar folly?
Añadir componentes de utilidad de alto rendimiento a una base de código C++ grande. Compilar proyectos C++ que dependen de otras bibliotecas open source de C++ de Meta. Reemplazar contenedores, utilidades de cadenas o primitivas de sincronización implementados a medida por alternativas probadas.
¿Cómo se instala folly?
Clona el repositorio: git clone https://github.com/facebook/folly Accede al directorio del proyecto: cd folly Configura la compilación de CMake (descarga las dependencias que falten): cmake -B _build Compila la biblioteca: cmake --build _build
¿Dónde consigo folly?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/meta/folly

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Biblioteca C++ de solo cabeceras para analizar rápidamente y con exactitud valores float, double y enteros a partir de cadenas; implementación de from_chars compatible como reemplazo directo.

Backend y APIs#cpp#parsing#number-parsing
2,1 mil+5 esta semana202C++Apache-2.0Bien mantenidoActualizado hace 6 días