APERÇU TECHNOLOGIQUE · C++23 · INFRASTRUCTURE HAUTE PERFORMANCE

ὕλη

HYLE

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

Un ouvrage divin

Pour l’inférence IA, le streaming de ressources et les services à faible latence. Des résultats supérieurs aux bibliothèques SOTA dans 18 comparaisons à sémantique équivalente.1

MESURÉ FACE À L’ÉTAT DE L’ART

Les meilleures bibliothèques comme référence.

Highway, Boost.Beast, Abseil, Folly, oneTBB : des bibliothèques SOTA conçues pour la performance. HYLE les affronte directement à fonctionnalités et sémantique équivalentes, avec 18 victoires sur des charges clés.

18victoires en comparaison externe

SIMD

Avantage maximal

7.463×

Tri SIMD

Tri VQSort partiel / complet

face à Highway VQSort

1.147–7.463×

io-http

Avantage maximal

3.065×

Streaming HTTP

Cycle de vie du streaming HTTP/1 fragmenté

face à Boost.Beast

3.030–3.065×

io-websocket

Avantage maximal

3.354×

Masquage WebSocket

Masquage WebSocket, 124 B–1 MiB

face à Boost.Beast

2.005–3.354×

sched

Avantage maximal

1.663×

Ordonnancement des requêtes

Distribution et collecte des requêtes sur quatre P-cores

face à Marl

1.646–1.663×

Chaque chiffre mis en avant correspond à la borne supérieure de la plage pour la charge et l’implémentation indiquées.

Ces implémentations sont déjà fortement optimisées. Gagner encore quelques points de pourcentage compte aussi. Des gains modestes aux écarts de plusieurs fois, chaque résultat conserve sa charge, son concurrent et sa plage complète.

Comparaison complète des performances · 18

Faites défiler horizontalement pour voir les charges, références et résultats.

Victoires de HYLE face à des bibliothèques externes, à fonctionnalités et sémantique équivalentes
ModuleCharge gagnanteImplémentation de référenceAvantage HYLE
container-intrusiveListe non propriétaire : stable sort + mergeBoost.Intrusive1.088–1.119×
util-coreAppels de parcours FunctionRef liés à un membreAbseil FunctionRef1.245–1.264×
errorOwning failure, first-error, Join failure, emprunt Result<T&>Abseil Status/StatusOr1.21–4.78×
timer-queueCycle de vie complet de 64 temporisateursSeastar timer queue1.129–1.190×
mem-reclaimLecture de snapshots immuables avec récupération mémoireFolly reclamation1.365–1.381×
memAllocateur de plages logiques : alignement, division, fusion, propriétéOffsetAllocator, adaptateur à contrat équivalent1.031–1.043×
mem-vmLibération différée des plages virtuelles du chargeur de modèlellama.cpp, reconstruction de vector1.031–1.047×
SIMDTri VQSort partiel / completHighway VQSort1.147–7.463×
containerCache de modèle LRU : recherche, insertion, éviction pondéréeAdaptateur Abseil1.222–1.273×
container-queueMPMC typée non bornée, 4 producteurs / 4 consommateursoneTBB queue1.261–1.289×
container-textEncodage Base64 de petits enregistrements de 20 octetssimdutf1.033–1.045×
schedDistribution et collecte des requêtes sur quatre P-coresMarl1.646–1.663×
schedRéveil à la fin d’une opérationMarl1.0266–1.0285×
io-httpCycle de vie du streaming HTTP/1 fragmentéBoost.Beast3.030–3.065×
io-tlsHandshake TLS asynchrone avec vérificationAsio, même OpenSSL1.099–1.102×
io-http264 flux : petites réponses, multiplexage et contrôle de fluxnghttp21.466–1.478×
io-transferReprise HTTP Range de 64 MiB avec vérificationlibcurl1.206–1.247×
io-websocketMasquage WebSocket, 124 B–1 MiBBoost.Beast2.005–3.354×

LA CONCEPTION DERRIÈRE LA PERFORMANCE

La performance à l’échelle du système.

Mémoire, conteneurs, SIMD, ordonnancement et E/S partagent les mêmes conventions d’allocation, d’erreur et de cycle de vie. Une base cohérente réduit le travail d’intégration entre sous-systèmes.

Prévoir l’annulation jusqu’à la fermeture.

Annulation, délais, notifications tardives et libération des ressources suivent des règles de propriété explicites. Le travail asynchrone possède un parcours défini jusqu’à sa finalisation et à l’arrêt.

Garder le contrôle des ressources.

Injectez les allocateurs, définissez la capacité des files et appliquez des quotas mémoire. La contre-pression et les échecs d’allocation produisent des résultats explicites que l’application peut traiter.

Tester aussi les chemins d’échec.

La validation couvre les entrées incorrectes, le manque de mémoire, les courses concurrentes et les parcours complets entre API publiques, avec fuzzing, injection de fautes et sanitizers mémoire et threads.

Intégrer seulement le nécessaire.

Sélectionnez les composants via un graphe de dépendances unique, avec des versions tierces verrouillées et des builds hors ligne. Des projets consommateurs indépendants vérifient les interfaces publiques et les limites d’intégration.

APERÇU TECHNOLOGIQUE

La suite arrive.

HYLE est en cours de développement. Sa forme de publication et ses modalités d’accès seront annoncées ultérieurement.