ANTEPRIMA TECNOLOGICA · C++23 · INFRASTRUTTURA AD ALTE PRESTAZIONI

ὕλη

HYLE

Θεῶν δημιούργημα

Opera divina

Per inferenza AI, streaming di risorse e servizi a bassa latenza. Risultati superiori alle librerie SOTA in 18 confronti con semantica equivalente.1

MISURATO CONTRO LO STATO DELL’ARTE

Le migliori librerie come riferimento.

Highway, Boost.Beast, Abseil, Folly, oneTBB: librerie SOTA progettate per le prestazioni. HYLE le affronta direttamente a parità di funzionalità e semantica, ottenendo 18 vittorie in carichi chiave.

18vittorie nei confronti esterni

SIMD

Vantaggio massimo

7.463×

Ordinamento SIMD

Ordinamento VQSort parziale / completo

rispetto a Highway VQSort

1.147–7.463×

io-http

Vantaggio massimo

3.065×

Streaming HTTP

Ciclo di vita dello streaming HTTP/1 frammentato

rispetto a Boost.Beast

3.030–3.065×

io-websocket

Vantaggio massimo

3.354×

Mascheramento WebSocket

Mascheramento WebSocket, 124 B–1 MiB

rispetto a Boost.Beast

2.005–3.354×

sched

Vantaggio massimo

1.663×

Scheduling delle richieste

Distribuzione delle richieste e raccolta su quattro P-core

rispetto a Marl

1.646–1.663×

Il valore in evidenza è il limite superiore dell’intervallo per il carico e l’implementazione indicati.

Queste implementazioni sono già altamente ottimizzate. Anche guadagnare pochi punti percentuali conta. Dai piccoli incrementi ai vantaggi di più volte, ogni risultato riporta carico, concorrente e intervallo completo.

Confronto completo delle prestazioni · 18

Scorri orizzontalmente per vedere carichi, riferimenti e risultati completi.

Vittorie di HYLE nei benchmark esterni a parità di funzionalità e semantica
ModuloCarico con vantaggioImplementazione di riferimentoVantaggio HYLE
container-intrusiveLista non proprietaria: stable sort + mergeBoost.Intrusive1.088–1.119×
util-coreChiamate di visita con FunctionRef associata a un membroAbseil FunctionRef1.245–1.264×
errorOwning failure, first-error, Join failure, prestito Result<T&>Abseil Status/StatusOr1.21–4.78×
timer-queueCiclo di vita completo di 64 timerSeastar timer queue1.129–1.190×
mem-reclaimLettura di snapshot immutabili con recupero memoriaFolly reclamation1.365–1.381×
memAllocatore di intervalli logici: allineamento, divisione, fusione, proprietàOffsetAllocator, adattatore con contratto equivalente1.031–1.043×
mem-vmRilascio differito di intervalli virtuali nel caricatore del modellollama.cpp, ricostruzione di vector1.031–1.047×
SIMDOrdinamento VQSort parziale / completoHighway VQSort1.147–7.463×
containerCache LRU del modello: ricerca, inserimento, espulsione per pesoAdattatore Abseil1.222–1.273×
container-queueMPMC tipizzata illimitata, 4 produttori / 4 consumatorioneTBB queue1.261–1.289×
container-textCodifica Base64 di piccoli record da 20 bytesimdutf1.033–1.045×
schedDistribuzione delle richieste e raccolta su quattro P-coreMarl1.646–1.663×
schedRisveglio al completamentoMarl1.0266–1.0285×
io-httpCiclo di vita dello streaming HTTP/1 frammentatoBoost.Beast3.030–3.065×
io-tlsHandshake TLS asincrono verificatoAsio, stesso OpenSSL1.099–1.102×
io-http264 flussi: risposte piccole, multiplexing e controllo del flussonghttp21.466–1.478×
io-transferRipresa HTTP Range da 64 MiB con verificalibcurl1.206–1.247×
io-websocketMascheramento WebSocket, 124 B–1 MiBBoost.Beast2.005–3.354×

LA PROGETTAZIONE DIETRO LE PRESTAZIONI

Prestazioni pensate per l’intero sistema.

Memoria, contenitori, SIMD, scheduling e I/O condividono convenzioni per allocatori, errori e ciclo di vita. Una base coerente riduce il lavoro ripetuto di integrazione fra sottosistemi.

Gestire anche annullamento e chiusura.

Annullamento, timeout, completamenti tardivi e rilascio delle risorse hanno regole di proprietà esplicite. Il lavoro asincrono segue un percorso definito fino al completamento, allo svuotamento e all’arresto.

Mantenere il controllo delle risorse.

Inietta allocatori, imposta capacità delle code e quote di memoria. Backpressure e fallimenti di allocazione hanno esiti espliciti che l’applicazione può gestire.

Verificare anche i percorsi di errore.

La verifica include input non validi, memoria insufficiente, race condition e flussi completi tra API pubbliche, con fuzzing, iniezione di guasti e sanitizer per memoria e thread.

Integrare solo ciò che serve.

Scegli i componenti con un unico grafo delle dipendenze, versioni di terze parti bloccate e build offline. Progetti di consumo indipendenti verificano le interfacce pubbliche e i confini di integrazione.

ANTEPRIMA TECNOLOGICA

Altri aggiornamenti in arrivo.

HYLE è in fase di sviluppo. La forma di pubblicazione e le modalità di accesso saranno annunciate in seguito.