TECHNOLOGIEVORSCHAU · C++23 · HOCHLEISTUNGSINFRASTRUKTUR

ὕλη

HYLE

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

Göttliche Schöpfung

Für KI-Inferenz, Ressourcenstreaming und latenzarme Dienste. Messbare Vorteile gegenüber SOTA-Performancebibliotheken in 18 Vergleichen mit gleichwertiger Semantik.1

GEMESSEN AN SOTA

Die besten Bibliotheken als Maßstab.

Highway, Boost.Beast, Abseil, Folly, oneTBB: SOTA-Bibliotheken, die auf Leistung ausgelegt sind. HYLE tritt bei gleichwertiger Funktionalität und Semantik direkt gegen sie an und erzielt 18 Siege in wichtigen Workloads.

18Siege in externen Vergleichen

SIMD

Maximaler Vorteil

7.463×

SIMD-Sortierung

Partielle / vollständige VQSort-Sortierung

vs. Highway VQSort

1.147–7.463×

io-http

Maximaler Vorteil

3.065×

HTTP-Streaming

Vollständiger Lebenszyklus fragmentierter HTTP/1-Streams

vs. Boost.Beast

3.030–3.065×

io-websocket

Maximaler Vorteil

3.354×

WebSocket-Maskierung

WebSocket-Maskierung, 124 B–1 MiB

vs. Boost.Beast

2.005–3.354×

sched

Maximaler Vorteil

1.663×

Request-Scheduling

Request-Verteilung und Ergebnissammlung auf vier P-Cores

vs. Marl

1.646–1.663×

Die hervorgehobene Zahl ist die Obergrenze des Bereichs für den jeweiligen Workload und die jeweilige Referenzimplementierung.

Diese Implementierungen sind bereits hochoptimiert. Selbst wenige zusätzliche Prozentpunkte sind ein Fortschritt. Von kleinen Vorteilen bis zu mehrfacher Leistung bleiben Workload, Vergleichspartner und vollständiger Ergebnisbereich sichtbar.

Vollständiger Leistungsvergleich · 18

Horizontal scrollen, um Workload, Referenz und Ergebnis vollständig zu sehen.

HYLE-Siege in externen Benchmarks bei gleichwertiger Funktionalität und Semantik
ModulWorkload mit VorteilReferenzimplementierungHYLE-Vorteil
container-intrusiveNicht besitzende Liste: stable sort + mergeBoost.Intrusive1.088–1.119×
util-coreTraversierungsaufrufe mit gebundener Member-FunctionRefAbseil FunctionRef1.245–1.264×
errorOwning failure, first-error, Join failure, Result<T&> borrowAbseil Status/StatusOr1.21–4.78×
timer-queueVollständiger Lebenszyklus von 64 TimernSeastar timer queue1.129–1.190×
mem-reclaimLesen unveränderlicher Snapshots mit SpeicherfreigabeFolly reclamation1.365–1.381×
memLogischer Bereichsallokator: Alignment, Split, Coalesce, OwnershipOffsetAllocator mit semantisch gleichwertigem Adapter1.031–1.043×
mem-vmVerzögerte Freigabe virtueller Bereiche beim Modellladenllama.cpp: Vector-Neuaufbau1.031–1.047×
SIMDPartielle / vollständige VQSort-SortierungHighway VQSort1.147–7.463×
containerModellcache-LRU: Suchen, Einfügen, gewichtete VerdrängungAbseil-Adapter1.222–1.273×
container-queueUnbegrenzte typisierte MPMC, 4 Produzenten / 4 KonsumentenoneTBB queue1.261–1.289×
container-textBase64-Kodierung kleiner 20-Byte-Datensätzesimdutf1.033–1.045×
schedRequest-Verteilung und Ergebnissammlung auf vier P-CoresMarl1.646–1.663×
schedAufwecken nach AbschlussMarl1.0266–1.0285×
io-httpVollständiger Lebenszyklus fragmentierter HTTP/1-StreamsBoost.Beast3.030–3.065×
io-tlsVerifizierter asynchroner TLS-HandshakeAsio, gleiches OpenSSL1.099–1.102×
io-http264 Streams: kleine Antworten, Multiplexing und Flusskontrollenghttp21.466–1.478×
io-transfer64 MiB HTTP Range: Wiederaufnahme und Prüfunglibcurl1.206–1.247×
io-websocketWebSocket-Maskierung, 124 B–1 MiBBoost.Beast2.005–3.354×

DIE TECHNIK HINTER DER LEISTUNG

Leistung für das ganze System.

Speicher, Container, SIMD, Scheduling und I/O teilen sich Allokator-, Fehler- und Lebenszyklusregeln. Eine einheitliche Grundlage reduziert wiederkehrenden Integrationsaufwand zwischen Subsystemen.

Abbruch und Beenden sind mitgedacht.

Abbruch, Timeouts, späte Abschlussmeldungen und Ressourcenfreigabe haben klare Zuständigkeitsregeln. Asynchrone Arbeit folgt einem definierten Ablauf bis zum vollständigen Abschluss und Herunterfahren.

Ressourcen gezielt steuern.

Allokatoren injizieren, Warteschlangenkapazitäten festlegen und Speicherquoten anwenden. Rückstau und Allokationsfehler liefern eindeutige Ergebnisse, auf die die Anwendung reagieren kann.

Auch Fehlerpfade prüfen.

Die Validierung umfasst ungültige Eingaben, Speichermangel, Nebenläufigkeitskonflikte und vollständige Abläufe über öffentliche APIs hinweg – mit Fuzzing, Fehlerinjektion sowie Speicher- und Thread-Sanitizern.

Nur das Nötige einbinden.

Komponenten über einen einheitlichen Abhängigkeitsgraphen auswählen, mit fixierten Drittanbieterversionen und Offline-Builds. Unabhängige Verbraucherprojekte prüfen öffentliche Schnittstellen und Integrationsgrenzen.

TECHNOLOGIEVORSCHAU

Weitere Einblicke folgen.

HYLE wird aktiv entwickelt. Die künftige Veröffentlichungsform und Verfügbarkeit werden später bekannt gegeben.