Saltar al contenido principal
RaoufResearchOS
Español
Sídney, AustraliaHora actual en Sídney—
Pulsa Escape para cerrar esta ventana.

Ingeniería

NanoMatch

NanoMatch es un libro de órdenes limitadas y motor de cruce en C++20 moderno. Simula las operaciones centrales de una bolsa, cruzando órdenes de compra y venta por prioridad de precio y tiempo a millones de operaciones por segundo.

  • C++20
  • CMake
  • Google Test
  • Negociación de alta frecuencia
  • Programación de sistemas
Identidad del proyectoEstática

01 / Resumen

Stack tecnológico documentado
  • 01C++20
  • 02CMake 3.20+
  • 03Google Test 1.17
  • 04GitHub Actions CI/CD
  • 05AddressSanitizer
  • 06UBSan

Problema

Las bolsas necesitan cruzar órdenes con latencias muy bajas. Entender el motor a nivel de sistemas requiere construirlo desde cero con restricciones reales de rendimiento.

Resumen de la solución

  1. Cruce por prioridad de precio y tiempo FIFO, con órdenes Limit, Market, IOC y FOK.
  2. Cancelación y modificación O(1) mediante índices de tabla hash.
  3. Asignador de pool que elimina asignaciones de heap en la ruta crítica.
  4. Soporte de varios instrumentos con libros independientes por símbolo.

02 / Evidencia

Pruebas y verificación

  • Rendimiento: 1M+ órdenes/segundo, benchmark sintético de un solo hilo.
  • Suite completa con benchmarks de latencia p50/p99.
  • 60+ pruebas unitarias en 18 suites, todas superadas.
  • ASan, UBSan, cppcheck y clang-format en CI con cada push.

03 / Métodos

Construcción

Tecnologías

  • C++20
  • CMake 3.20+
  • Google Test 1.17
  • GitHub Actions CI/CD
  • AddressSanitizer
  • UBSan
  • Cruce por prioridad de precio y tiempo FIFO.
  • 4 tipos: Limit, Market, IOC y Fill-or-Kill.
  • Cancelación y modificación O(1) mediante tabla hash.
  • Asignador de pool propio que elimina la sobrecarga de heap.

Seguro

  • AddressSanitizer y UndefinedBehaviorSanitizer en CI.
  • 60+ pruebas unitarias en 18 suites.
  • Análisis estático cppcheck con cada push.
  • Sin dependencias externas en ejecución.

Buscar

Encuentra un proyecto, una publicación, un artículo o una página.

30 / 41 · Resultados de búsqueda

↑ ↓ Navegación del espacio de trabajoEnter AbrirEsc Cerrar