Skip to content

Repository files navigation

xpatterns

xpatterns es una colección de funciones reutilizables para procesos y workers.

Los patrones de ejecución son soluciones reutilizables para controlar cómo y cuándo se ejecuta el código — no qué hace, sino cómo se comporta en el tiempo.

No son algoritmos de ordenamiento ni estructuras de datos. Son patrones que resuelven problemas reales de producción: procesos que se enciman, workers que no responden a señales, intervalos que explotan bajo carga, señales ruidosas que necesitan suavizado. El tipo de problemas que aparecen cuando el código ya funciona pero el sistema no.

Cada patrón está implementado en PHP, TypeScript y Python con la misma interfaz, los mismos logs y el mismo comportamiento — para que puedas llevarlo al lenguaje que uses sin reaprender nada.


Índice

# Patrón Descripción
01 setAwaitableInterval Ejecuta un callback de forma periódica y secuencial — el siguiente ciclo no arranca hasta que el anterior termina
02 TrendPredictor Predice valores por tendencia usando regresión polinomial sobre ventana deslizante — tan veloz que cabe en loops de tiempo real

Patrones

01 — setAwaitableInterval

import { setAwaitableInterval } from './set-awaitable-interval.ts';
setAwaitableInterval(myCallback, 1000);

02 — TrendPredictor

import { TrendPredictor } from './trend-predictor.ts';
const predictor = new TrendPredictor({ degree: 2, maxPoints: 10 });
predictor.feed(timestamp, value);
const smoothed = predictor.predict(timestamp);

Rendimiento: buildModel + predict ≈ < 1μs con ventana de 10 puntos y grado 2. Sin objetos intermedios, sin GC pressure, sin llamadas a librerías externas. Suficientemente rápido para ejecutarse en cada ciclo de un loop de tiempo real (GPS, sensores, telemetría) sin afectar la frecuencia del sistema.


Tests

Cada patrón tiene tests independientes en cada lenguaje:

# TypeScript
node --experimental-strip-types tests/typescript/trend-predictor.ts

# Python
python3 tests/python/trend_predictor.py

# PHP (requiere PHP 8.0+)
php tests/php/trend-predictor.php

Para levantar el entorno completo con Docker:

docker compose run --rm node
docker compose run --rm python
docker compose run --rm php

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages