CloudCastle Clock

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

Confronto con i concorrenti

Tutte le tabelle seguenti sono generate automaticamente da test comparativi onesti (benchmarks/compare.php) eseguendo la STESSA operazione per ogni concorrente, PHP 8.3.32, senza Xdebug.

1. Funzionalità

Capacità🏆 CloudCastlesymfonycarbonlcobuccibesteergebnisnew¹
PSR-20 ClockInterface (now(): DateTimeImmutable)✅✅✅✅✅✅❌
Orologio congelato per test deterministici✅✅✅✅✅✅❌
Orologio mock con sleep() virtuale✅✅❌❌❌❌❌
Orologio monotono (immune agli sbalzi dell’ora di sistema)✅✅❌❌❌❌❌
Sfasamento temporale tramite decoratore (OffsetClock)✅❌❌❌❌❌❌
Scalatura del tempo tramite decoratore (ScaledClock)✅❌❌❌❌❌❌
Troncamento degli istanti a un’unità arbitraria✅❌❌❌❌❌❌
Value object di durata con precisione al nanosecondo✅❌✅❌❌❌❌
Scadenze con tempo residuo (Deadline)✅❌❌❌❌❌❌
Orologi a passi e a coda per test di scenario✅❌❌❌❌❌❌
Cronometro con giri incluso nel pacchetto✅❌❌❌❌❌❌
Primitive economiche timestamp()/microtime() senza oggetti data✅❌❌❌❌❌❌
Istante legato all’orologio dell’applicazione (DatePoint)✅✅✅❌❌❌❌
Sostituzione con ambito dell’orologio globale con ripristino automatico✅❌✅❌❌❌❌
Adattatore per qualsiasi orologio PSR-20✅✅❌❌✅❌❌
Aritmetica di calendario per mesi/anni con controllo dell’overflow (CalendarDate)✅❌✅❌❌❌❌
diffForHumans e isoFormat localizzati senza ext-intl✅❌❌❌❌❌❌
Predicati e differenze di calendario (isWeekend, diffInDays, next)✅❌✅❌❌❌❌
Trait PHPUnit per simulare il tempo (mockTime/unmockTime)✅✅❌❌❌❌❌
sleep() reale sugli orologi di sistema e monotoni✅✅❌❌❌❌❌
Incapsulamento di qualsiasi oggetto con now() come PSR-20✅❌❌❌✅❌❌
Iterazione di un periodo di calendario con passo (CalendarPeriod)✅❌✅❌❌❌❌
Durata leggibile (TimeSpan::forHumans)✅❌✅❌❌❌❌
Macro: estensione dell’API delle date senza ereditarietà✅❌✅❌❌❌❌
Totale🏆 248102420

2. Sicurezza e correttezza

Proprietà🏆 CloudCastlesymfonycarbonlcobuccibesteergebnisnew¹
Letture immutabili (DateTimeImmutable)✅✅✅✅✅✅✅
Fuso orario esplicito (indipendente da date.timezone)✅✅✅✅❌✅❌
Determinismo dei test senza stato globale obbligatorio✅✅❌✅✅✅❌
Monotonia (resistente al ritardo dell’orologio di sistema)✅✅❌❌❌❌❌
Eccezioni tipizzate invece di false/warning al confine di input✅❌✅❌❌❌❌
Sanificazione dell’input ostile nei messaggi di eccezione✅❌❌❌❌❌❌
Controllo dell’overflow di interi per le durate✅❌❌❌❌❌❌
Dipendenze minime (≤2, senza ICU/ext-intl)✅❌❌✅✅✅✅
Totale🏆 8434342

2.1. Conformità agli standard di sicurezza dei pacchetti Composer

StandardCloudCastlesymfonycarbonlcobuccibesteergebnis🏆 Vincitori
Politica di sicurezza (SECURITY.md o processo pubblicato)✅✅✅❌✅✅CloudCastle, symfony, carbon, beste, ergebnis
Controllo delle vulnerabilità note delle dipendenze (roave/security-advisories + composer audit)✅❌❌❌❌❌CloudCastle
OpenSSF Scorecard: punteggio pubblicato ≥ 7/10❌✅❌❌❌❌symfony
CWE-20: validazione dell’input con eccezioni tipizzate✅❌✅❌❌❌CloudCastle, carbon
CWE-117/CWE-150: neutralizzazione dei caratteri di controllo nei messaggi di errore✅❌❌❌❌❌CloudCastle
CWE-190: controllo dell’overflow di interi✅❌❌❌❌❌CloudCastle
Catena di fornitura: ≤2 dipendenze di runtime senza polyfill/ICU✅❌❌✅✅✅CloudCastle, lcobucci, beste, ergebnis
OpenSSF Best Practices: test automatici con controllo di mutazione in CI✅❌❌✅❌✅CloudCastle, lcobucci, ergebnis
Licenza approvata OSI nella distribuzione (MIT)✅✅✅✅✅✅CloudCastle, symfony, carbon, lcobucci, beste, ergebnis
Totale🏆 833334CloudCastle

<sub>Fonti: file SECURITY.md nei repository (API di GitHub), require-dev delle distribuzioni su Packagist, api.securityscorecards.dev (symfony/clock — punteggio del monorepo symfony/symfony; OpenSSF Scorecard valuta solo progetti GitHub, quindi CloudCastle su GitVerse non ha un punteggio — un contro onesto della piattaforma); righe CWE — dai test di sicurezza dei pacchetti; symfony/clock per PHP 8.1 è il ramo 6.4 con polyfill-php83.</sub>

3. Prestazioni: now()

_Recupero del momento corrente now(), 200 000 volte (minimo di 15)._

SoluzioneTempo (ms)Verdetto
new¹109,7linea di base (non una libreria)
🏆 CloudCastle114,5la più veloce tra le librerie
🏆 ergebnis115,6alla pari con il migliore (entro il margine di errore)
🏆 lcobucci116alla pari con il migliore (entro il margine di errore)
🏆 beste116,8alla pari con il migliore (entro il margine di errore)
symfony154,6concorrente
carbon649,8concorrente

4. Prestazioni: timestamp unix

_Timestamp unix corrente (secondi interi), 200 000 volte._

SoluzioneTempo (ms)Verdetto
new¹16linea di base (non una libreria)
🏆 CloudCastle27,8la più veloce tra le librerie
ergebnis122,3concorrente
lcobucci123concorrente
beste125,6concorrente
symfony164,2concorrente
carbon658,7concorrente

5. Consumo di memoria della libreria

_Crescita di memoria della sola libreria su 200 000 chiamate now() (processo isolato, senza il peso dell’autoloader)._

SoluzioneMemoria (KB)Verdetto
new¹1linea di base (non una libreria)
🏆 beste3la più leggera tra le librerie
lcobucci5concorrente
ergebnis5concorrente
symfony30concorrente
CloudCastle31concorrente
carbon3 425concorrente

6. Perdite di memoria

_Crescita di memoria dopo il riscaldamento su 200 000 chiamate now() (0 — nessuna perdita)._

SoluzioneMemoria (KB)Verdetto
🏆 CloudCastle0senza perdite
symfony0senza perdite
carbon0senza perdite
lcobucci0senza perdite
beste0senza perdite
ergebnis0senza perdite
new¹0linea di base (non una libreria)

7. Picco di memoria del processo

_Picco di memoria di un processo isolato su 200 000 chiamate now()._

SoluzioneMemoria (KB)Verdetto
🏆 CloudCastle7 035la più leggera tra le librerie
🏆 symfony7 035alla pari con il migliore (entro il margine di errore)
🏆 lcobucci7 035alla pari con il migliore (entro il margine di errore)
🏆 beste7 035alla pari con il migliore (entro il margine di errore)
🏆 ergebnis7 035alla pari con il migliore (entro il margine di errore)
new¹7 035linea di base (non una libreria)
carbon10 303concorrente

8. Qualità del codice

Strumento🏆 CloudCastlesymfonycarbonlcobuccibesteergebnis
PHPStan✅ max + strict❌✅✅ + strict✅ + strict✅ + strict
Psalm✅ level 1✅ (monorepo)❌❌✅❌
PHPMD✅❌✅❌❌❌
PHPCS / CS-Fixer✅ PSR-12 + fixer✅ fixer✅✅❌✅ fixer
Rector✅❌❌❌❌✅
Deptrac (livelli di architettura)✅❌❌❌❌❌
Test di mutazione (Infection)✅ MSI 100.0%❌❌✅❌✅
Copertura delle righe (dal vivo)✅ 100.0%—————
Totale🏆 823324

<sub>Strumenti dei concorrenti secondo il require-dev delle loro distribuzioni pubblicate (istantanea luglio 2026); symfony/clock — secondo il monorepo symfony/symfony. Le metriche CloudCastle sono risultati reali di esecuzione locale.</sub>

¹ La linea di base (chiamate native senza la completezza di una soluzione) è mostrata per contesto e non compete con le librerie.

I risultati che si discostano meno del 5% dal migliore sono segnati come pari: queste soluzioni condividono un percorso caldo identico carattere per carattere (new DateTimeImmutable('now', $tz)); a quella scala la differenza viene dal rumore della macchina, non dal codice.


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