Repolode
simdjson

simdjson/simdjson

Un parser JSON para C++ que usa instrucciones SIMD para procesar gigabytes de JSON por segundo con validación completa.

Estrellas
24,444
Forks
1,321
Issues abiertos
73
Último commit
hace 5 horas

¿Qué es?

simdjson es una biblioteca de C++ para analizar JSON. Usa instrucciones SIMD de disponibilidad general y algoritmos paralelos para procesar datos rápidamente, y realiza una validación completa de JSON y UTF-8 durante el análisis.

La biblioteca selecciona en tiempo de ejecución un parser específico para la CPU, así que no es necesario configurarla. Su API On-Demand analiza solo las partes del documento que lee el programa y permite acceder mediante JSON Pointer. El proyecto también incluye la minificación de JSON, la validación de UTF-8, el procesamiento multiproceso de NDJSON y la serialización de JSON mediante un builder.

Se distribuye como un único archivo de cabecera y un archivo fuente, y es compatible con x64, ARM64 y LoongArch. Hay bindings y ports para Python, Rust, Go, Java, C#, Node.js y varios otros lenguajes.

Funciones clave

  • 01Analiza JSON con instrucciones SIMD y selecciona en tiempo de ejecución una implementación adaptada a la CPU.
  • 02Realiza una validación completa de JSON y UTF-8 con análisis sin pérdida de datos.
  • 03Ofrece una API On-Demand que lee solo los campos que necesita el programa.
  • 04Admite el acceso mediante JSON Pointer, la minificación y el análisis multiproceso de NDJSON.
  • 05Se puede integrar usando un único archivo de cabecera y un archivo fuente.

Casos de uso

  • Analizar grandes cargas útiles de JSON en servidores C++ o pipelines de datos de alto rendimiento.
  • Procesar archivos de logs o eventos en formato NDJSON a gran velocidad.
  • Convertir JSON a structs de C++ y viceversa mediante reflexión estática.

Inicio rápido

  1. 1

    Descarga simdjson.h, simdjson.cpp y twitter.json con wget

    wget https://raw.githubusercontent.com/simdjson/simdjson/master/singleheader/simdjson.h https://raw.githubusercontent.com/simdjson/simdjson/master/singleheader/simdjson.cpp https://raw.githubusercontent.com/simdjson/simdjson/master/jsonexamples/twitter.json
  2. 2

    Crea quickstart.cpp con el programa de ejemplo del README

  3. 3

    Compila el programa con tu compilador de C++

    c++ -o quickstart quickstart.cpp simdjson.cpp
  4. 4

    Ejecuta el programa

    ./quickstart

Antes de usarlo

  • Se necesita un compilador de C++, como g++ 7+ o clang++ 6+, en un sistema de 64 bits.
  • La guía de inicio rápido requiere descargar y compilar manualmente; otras plataformas, como Visual Studio o Xcode, necesitan pasos distintos.

Temas

Preguntas frecuentes

¿Qué es simdjson?
Un parser JSON para C++ que usa instrucciones SIMD para procesar gigabytes de JSON por segundo con validación completa. simdjson es una biblioteca de C++ para analizar JSON. Usa instrucciones SIMD de disponibilidad general y algoritmos paralelos para procesar datos rápidamente, y realiza una validación completa de JSON y UTF-8 durante el análisis.
¿simdjson es gratuito? ¿Qué licencia tiene?
simdjson es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿simdjson sigue mantenido?
Mantenimiento activo. El último commit de simdjson fue el 21 oct 2026.
¿Para qué puedo usar simdjson?
Analizar grandes cargas útiles de JSON en servidores C++ o pipelines de datos de alto rendimiento. Procesar archivos de logs o eventos en formato NDJSON a gran velocidad. Convertir JSON a structs de C++ y viceversa mediante reflexión estática.
¿Cómo se instala simdjson?
Descarga simdjson.h, simdjson.cpp y twitter.json con wget: wget https://raw.githubusercontent.com/simdjson/simdjson/master/singleheader/simdjson.h https://raw.githubusercontent.com/simdjson/simdjson/master/singleheader/simdjson.cpp https://raw.githubusercontent.com/simdjson/simdjson/master/jsonexamples/twitter.json Crea quickstart.cpp con el programa de ejemplo del README Compila el programa con tu compilador de C++: c++ -o quickstart quickstart.cpp simdjson.cpp Ejecuta el programa: ./quickstart
¿Dónde consigo simdjson?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/simdjson/simdjson

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

Proyectos relacionados