CloudCastle Clock

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano

Comparación con competidores

Todas las tablas siguientes se generan automáticamente a partir de pruebas comparativas honestas (benchmarks/compare.php) ejecutando la MISMA operación para cada competidor, PHP 8.3.32, sin Xdebug.

1. Funcionalidad

Capacidad🏆 CloudCastlesymfonycarbonlcobuccibesteergebnisnew¹
PSR-20 ClockInterface (now(): DateTimeImmutable)✅✅✅✅✅✅❌
Reloj congelado para pruebas deterministas✅✅✅✅✅✅❌
Reloj simulado con sleep() virtual✅✅❌❌❌❌❌
Reloj monótono (inmune a los saltos de la hora del sistema)✅✅❌❌❌❌❌
Desplazamiento de tiempo mediante decorador (OffsetClock)✅❌❌❌❌❌❌
Escalado de tiempo mediante decorador (ScaledClock)✅❌❌❌❌❌❌
Truncamiento de instantes a una unidad arbitraria✅❌❌❌❌❌❌
Objeto de valor de duración con precisión de nanosegundos✅❌✅❌❌❌❌
Plazos con tiempo restante (Deadline)✅❌❌❌❌❌❌
Relojes por pasos y de cola para pruebas de escenario✅❌❌❌❌❌❌
Cronómetro con vueltas incluido en el paquete✅❌❌❌❌❌❌
Primitivas económicas timestamp()/microtime() sin objetos de fecha✅❌❌❌❌❌❌
Instante ligado al reloj de la aplicación (DatePoint)✅✅✅❌❌❌❌
Sustitución con ámbito del reloj global con restauración automática✅❌✅❌❌❌❌
Adaptador para cualquier reloj PSR-20✅✅❌❌✅❌❌
Aritmética de calendario de meses/años con control de desbordamiento (CalendarDate)✅❌✅❌❌❌❌
diffForHumans e isoFormat localizados sin ext-intl✅❌❌❌❌❌❌
Predicados y diferencias de calendario (isWeekend, diffInDays, next)✅❌✅❌❌❌❌
Trait de PHPUnit para simular el tiempo (mockTime/unmockTime)✅✅❌❌❌❌❌
sleep() real en relojes del sistema y monótonos✅✅❌❌❌❌❌
Envoltura de cualquier objeto con now() como PSR-20✅❌❌❌✅❌❌
Iteración de un periodo de calendario con paso (CalendarPeriod)✅❌✅❌❌❌❌
Duración legible para humanos (TimeSpan::forHumans)✅❌✅❌❌❌❌
Macros: ampliación de la API de fechas sin herencia✅❌✅❌❌❌❌
Total🏆 248102420

2. Seguridad y exactitud

Propiedad🏆 CloudCastlesymfonycarbonlcobuccibesteergebnisnew¹
Lecturas inmutables (DateTimeImmutable)✅✅✅✅✅✅✅
Zona horaria explícita (independiente de date.timezone)✅✅✅✅❌✅❌
Determinismo de pruebas sin estado global obligatorio✅✅❌✅✅✅❌
Monotonía (resistente al retroceso del reloj del sistema)✅✅❌❌❌❌❌
Excepciones tipadas en lugar de false/warning en la frontera de entrada✅❌✅❌❌❌❌
Saneamiento de entradas hostiles en los mensajes de excepción✅❌❌❌❌❌❌
Control de desbordamiento de enteros para duraciones✅❌❌❌❌❌❌
Dependencias mínimas (≤2, sin ICU/ext-intl)✅❌❌✅✅✅✅
Total🏆 8434342

2.1. Cumplimiento de los estándares de seguridad de paquetes Composer

EstándarCloudCastlesymfonycarbonlcobuccibesteergebnis🏆 Ganadores
Política de seguridad (SECURITY.md o proceso publicado)✅✅✅❌✅✅CloudCastle, symfony, carbon, beste, ergebnis
Control de vulnerabilidades conocidas en dependencias (roave/security-advisories + composer audit)✅❌❌❌❌❌CloudCastle
OpenSSF Scorecard: puntuación publicada ≥ 7/10❌✅❌❌❌❌symfony
CWE-20: validación de entrada con excepciones tipadas✅❌✅❌❌❌CloudCastle, carbon
CWE-117/CWE-150: neutralización de caracteres de control en mensajes de error✅❌❌❌❌❌CloudCastle
CWE-190: control de desbordamiento de enteros✅❌❌❌❌❌CloudCastle
Cadena de suministro: ≤2 dependencias de ejecución sin polyfill/ICU✅❌❌✅✅✅CloudCastle, lcobucci, beste, ergebnis
OpenSSF Best Practices: pruebas automatizadas con control de mutación en CI✅❌❌✅❌✅CloudCastle, lcobucci, ergebnis
Licencia aprobada por OSI en la distribución (MIT)✅✅✅✅✅✅CloudCastle, symfony, carbon, lcobucci, beste, ergebnis
Total🏆 833334CloudCastle

<sub>Fuentes: archivos SECURITY.md de los repositorios (API de GitHub), require-dev de las distribuciones en Packagist, api.securityscorecards.dev (symfony/clock — puntuación del monorepo symfony/symfony; OpenSSF Scorecard solo evalúa proyectos de GitHub, por lo que CloudCastle en GitVerse no tiene puntuación — un contra honesto de la plataforma); filas CWE — según las pruebas de seguridad de los paquetes; symfony/clock para PHP 8.1 es la rama 6.4 con polyfill-php83.</sub>

3. Rendimiento: now()

_Obtención del momento actual now(), 200 000 veces (mínimo de 15)._

SoluciónTiempo (ms)Veredicto
new¹109,7línea base (no es una biblioteca)
🏆 CloudCastle114,5la más rápida entre las bibliotecas
🏆 ergebnis115,6a la par del líder (dentro del margen de error)
🏆 lcobucci116a la par del líder (dentro del margen de error)
🏆 beste116,8a la par del líder (dentro del margen de error)
symfony154,6competidor
carbon649,8competidor

4. Rendimiento: marca unix

_Marca unix actual (segundos enteros), 200 000 veces._

SoluciónTiempo (ms)Veredicto
new¹16línea base (no es una biblioteca)
🏆 CloudCastle27,8la más rápida entre las bibliotecas
ergebnis122,3competidor
lcobucci123competidor
beste125,6competidor
symfony164,2competidor
carbon658,7competidor

5. Consumo de memoria de la biblioteca

_Crecimiento de memoria solo de la biblioteca en 200 000 llamadas now() (proceso aislado, sin el peso del autoloader)._

SoluciónMemoria (KB)Veredicto
new¹1línea base (no es una biblioteca)
🏆 beste3la más ligera entre las bibliotecas
lcobucci5competidor
ergebnis5competidor
symfony30competidor
CloudCastle31competidor
carbon3 425competidor

6. Fugas de memoria

_Crecimiento de memoria tras el calentamiento en 200 000 llamadas now() (0 — sin fugas)._

SoluciónMemoria (KB)Veredicto
🏆 CloudCastle0sin fugas
symfony0sin fugas
carbon0sin fugas
lcobucci0sin fugas
beste0sin fugas
ergebnis0sin fugas
new¹0línea base (no es una biblioteca)

7. Pico de memoria del proceso

_Pico de memoria de un proceso aislado en 200 000 llamadas now()._

SoluciónMemoria (KB)Veredicto
🏆 CloudCastle7 035la más ligera entre las bibliotecas
🏆 symfony7 035a la par del líder (dentro del margen de error)
🏆 lcobucci7 035a la par del líder (dentro del margen de error)
🏆 beste7 035a la par del líder (dentro del margen de error)
🏆 ergebnis7 035a la par del líder (dentro del margen de error)
new¹7 035línea base (no es una biblioteca)
carbon10 303competidor

8. Calidad del código

Herramienta🏆 CloudCastlesymfonycarbonlcobuccibesteergebnis
PHPStan✅ max + strict❌✅✅ + strict✅ + strict✅ + strict
Psalm✅ level 1✅ (monorepo)❌❌✅❌
PHPMD✅❌✅❌❌❌
PHPCS / CS-Fixer✅ PSR-12 + fixer✅ fixer✅✅❌✅ fixer
Rector✅❌❌❌❌✅
Deptrac (capas de arquitectura)✅❌❌❌❌❌
Pruebas de mutación (Infection)✅ MSI 100.0%❌❌✅❌✅
Cobertura de líneas (en vivo)✅ 100.0%—————
Total🏆 823324

<sub>Herramientas de los competidores según el require-dev de sus distribuciones publicadas (instantánea de julio de 2026); symfony/clock — según el monorepo symfony/symfony. Las métricas de CloudCastle son resultados reales de ejecución local.</sub>

¹ La línea base (llamadas nativas sin la completitud de una solución) se muestra como contexto y no compite con las bibliotecas.

Los resultados que difieren menos del 5% del mejor se marcan como iguales: estas soluciones comparten una ruta caliente idéntica carácter a carácter (new DateTimeImmutable('now', $tz)); a esa escala la diferencia proviene del ruido de la máquina, no del código.


🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano