crystal-bench-server

crystal-bench-server

Un servidor HTTP y microservicio de benchmarking de alto rendimiento escrito en Crystal, diseñado bajo el paradigma de concurrencia basada en Fibras (CSP - Communicating Sequential Processes) similar a las Goroutines de Go.

¿Por qué Crystal?

Crystal combina la elegancia sintáctica y legibilidad de Ruby con la eficiencia computacional de lenguajes compilados por LLVM (como Rust o C++). No utiliza máquinas virtuales pesadas (JVM o V8), sino que compila directamente a un único binario nativo optimizado para tu microprocesador.

Peticiones concurrentes ───→ [ Crystal HTTP Server ] ───→ Despachador de Fibras (Green Threads)
                                                                 │
                                                       ├─── Fibra 1 (GET /health)
                                                       └─── Fibra 2 (GET /stats)

Características Técnicas

  • Fibers Concurrency: Maneja de forma asíncrona miles de sockets abiertos simultáneamente distribuidos mediante un scheduler interno.
  • Zero dynamic compilation: Todo el tipado es estricto en tiempo de compilación, eliminando por completo retardos de JIT.

Cómo compilar y ejecutar

Necesitas tener instalado el compilador de Crystal.

git clone https://github.com/davestinhast/crystal-bench-server.git
cd crystal-bench-server

# Compilar un binario nativo optimizado para producción
crystal build src/server.cr --release -o server

# Ejecutar el servidor
./server

Endpoints Soportados

  • GET /health : Estado de salud y motor de ejecución.
  • GET /stats : Consumo dinámico de recursos de memoria (GC) y CPU simulada.

Licencia

MIT

Repository

crystal-bench-server

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 0
  • about 6 hours ago
  • May 27, 2026
License

Links
Synced at

Wed, 27 May 2026 02:27:37 GMT

Languages