TECHNOLÓGIAI ELŐZETES · C++23 · NAGY TELJESÍTMÉNYŰ INFRASTRUKTÚRA

ὕλη

HYLE

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

Isteni alkotás

AI-inferenciához, erőforrás-streaminghez és alacsony késleltetésű szolgáltatásokhoz. Mérhető előny a SOTA teljesítménykönyvtárakkal szemben, 18 azonos szemantikájú összehasonlításban.1

A MÉRCE: SOTA

A legjobb könyvtárakhoz mérve.

Highway, Boost.Beast, Abseil, Folly, oneTBB: teljesítményre tervezett SOTA könyvtárak. A HYLE egyenértékű funkcionalitással és szemantikával méri össze magát velük, 18 győztes eredménnyel a fontos terheléseken.

18győzelem külső összehasonlításban

SIMD

Legnagyobb előny

7.463×

SIMD-rendezés

VQSort részleges / teljes rendezés

viszonyítás: Highway VQSort

1.147–7.463×

io-http

Legnagyobb előny

3.065×

HTTP-streaming

Darabolt HTTP/1-streaming teljes életciklusa

viszonyítás: Boost.Beast

3.030–3.065×

io-websocket

Legnagyobb előny

3.354×

WebSocket-maszkolás

WebSocket-maszkolás, 124 B–1 MiB

viszonyítás: Boost.Beast

2.005–3.354×

sched

Legnagyobb előny

1.663×

Kérések ütemezése

Kérések szétosztása és eredménygyűjtés négy P-magon

viszonyítás: Marl

1.646–1.663×

A kiemelt szám az adott terheléshez és referenciaimplementációhoz tartozó tartomány felső határa.

Ezek az implementációk már erősen optimalizáltak. Néhány további százalékpontnyi előny is számít. A kisebb javulásoktól a többszörös teljesítményig minden eredménynél látható a terhelés, az ellenfél és a teljes közölt tartomány.

Teljes teljesítmény-összehasonlítás · 18

Görgess vízszintesen a terhelések, referenciák és eredmények megtekintéséhez.

A HYLE győztes külső benchmarkjai egyenértékű funkcionalitás és szemantika mellett
ModulGyőztes terhelésReferenciaimplementációHYLE-előny
container-intrusiveNem tulajdonló lista: stable sort + mergeBoost.Intrusive1.088–1.119×
util-coreKötött tagfüggvényes FunctionRef bejárási hívásokAbseil FunctionRef1.245–1.264×
errorOwning failure, first-error, Join failure, Result<T&> borrowAbseil Status/StatusOr1.21–4.78×
timer-queue64 időzítő teljes életciklusaSeastar timer queue1.129–1.190×
mem-reclaimMegváltoztathatatlan pillanatképek olvasása memóriavisszanyerésselFolly reclamation1.365–1.381×
memLogikai tartományallokátor: igazítás, felosztás, összevonás, tulajdonlásOffsetAllocator, egyenértékű szerződésű adapter1.031–1.043×
mem-vmModellbetöltő virtuális tartományainak késleltetett felszabadításallama.cpp vector-újraépítési útvonal1.031–1.047×
SIMDVQSort részleges / teljes rendezésHighway VQSort1.147–7.463×
containerModellcache LRU: keresés, beszúrás, súlyozott kiléptetésAbseil-adapter1.222–1.273×
container-queueKorlátlan típusos MPMC, 4 termelő / 4 fogyasztóoneTBB queue1.261–1.289×
container-text20 bájtos kis rekordok Base64-kódolásasimdutf1.033–1.045×
schedKérések szétosztása és eredménygyűjtés négy P-magonMarl1.646–1.663×
schedÉbresztés befejezéskorMarl1.0266–1.0285×
io-httpDarabolt HTTP/1-streaming teljes életciklusaBoost.Beast3.030–3.065×
io-tlsEllenőrzött aszinkron TLS-kézfogásAsio, azonos OpenSSL1.099–1.102×
io-http264 adatfolyam: kis válaszok, multiplexelés és folyamszabályozásnghttp21.466–1.478×
io-transfer64 MiB HTTP Range folytatás és ellenőrzéslibcurl1.206–1.247×
io-websocketWebSocket-maszkolás, 124 B–1 MiBBoost.Beast2.005–3.354×

A TELJESÍTMÉNY MÖGÖTTI MÉRNÖKI MUNKA

Teljesítmény az egész rendszerre tervezve.

A memória, a konténerek, a SIMD, az ütemezés és az I/O közös allokátor-, hiba- és életciklus-szabályokat követnek. Az egységes alap csökkenti az alrendszerek közötti ismétlődő integrációs munkát.

A megszakítás és leállítás is megtervezett.

A megszakítás, az időtúllépés, a késői befejezési jelzések és az erőforrás-felszabadítás tulajdonlási szabályai egyértelműek. Az aszinkron munka útja a befejezésig, kiürítésig és leállításig meghatározott.

Tartsd kézben az erőforrásokat.

Allokátorok injektálhatók, sorkapacitások és memóriakvóták állíthatók be. A torlódás és az allokációs hibák egyértelmű, alkalmazásszinten kezelhető eredményt adnak.

A hibás útvonalakat is ellenőrizzük.

Az ellenőrzés kiterjed a hibás bemenetre, memóriahiányra, versenyhelyzetekre és a nyilvános API-kon átívelő teljes folyamatokra, fuzzinggal, hibainjektálással, valamint memória- és szál-sanitizerekkel.

Csak azt használd, amire szükséged van.

A komponensek egységes függőségi gráfból választhatók, rögzített külső verziókkal és offline builddel. Független fogyasztói projektek ellenőrzik a nyilvános interfészeket és az integrációs határokat.

TECHNOLÓGIAI ELŐZETES

Hamarosan további részletek.

A HYLE aktív fejlesztés alatt áll. A későbbi közzététel módját és az elérhetőségét külön jelentjük be.