技術プレビュー · C++23 · 高性能基盤ライブラリ

ὕλη

HYLE

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

神業のものづくり

AI 推論、リソースストリーミング、低遅延サービスのために。同等の意味論に基づく 18 件の比較で、各分野の SOTA 性能ライブラリを上回る結果を示しています。1

各分野の SOTA を基準に

SOTA と比較し、実測で上回る。

Highway、Boost.Beast、Abseil、Folly、oneTBB。性能を追求した各分野の SOTA ライブラリです。HYLE は同等の機能と意味論を条件に直接比較し、主要なワークロードで 18 件の優位性を記録しています。

18外部比較での優位項目

SIMD

最大性能比

7.463×

SIMD ソート

VQSort 部分 / 完全ソート

比較対象 Highway VQSort

1.147–7.463×

io-http

最大性能比

3.065×

HTTP ストリーミング

分割 HTTP/1 ストリーミングの全ライフサイクル

比較対象 Boost.Beast

3.030–3.065×

io-websocket

最大性能比

3.354×

WebSocket マスキング

124 B–1 MiB の WebSocket マスキング

比較対象 Boost.Beast

2.005–3.354×

sched

最大性能比

1.663×

リクエスト並列処理

4 つの P-core でリクエストを分配・集約

比較対象 Marl

1.646–1.663×

大きく表示した倍率は、各ワークロードと比較対象に対する測定範囲の上限です。

比較対象はすでに高度に最適化されています。そこから数パーセント上回ることにも価値があります。小さな改善から数倍の差まで、各結果の条件、比較対象、報告された範囲をすべて示します。

性能比較の全項目 · 18

左右にスクロールして、条件・比較対象・結果を確認できます。

同等の機能と意味論に基づく HYLE の外部性能比較
モジュール優位性を示した条件比較対象HYLE の性能比
container-intrusive非所有リスト:stable sort + mergeBoost.Intrusive1.088–1.119×
util-coreメンバー束縛 FunctionRef の走査呼び出しAbseil FunctionRef1.245–1.264×
errorowning failure、first-error、Join failure、Result<T&> borrowAbseil Status/StatusOr1.21–4.78×
timer-queue64 タイマーの全ライフサイクルSeastar timer queue1.129–1.190×
mem-reclaim不変スナップショットの回収付き読み取りFolly reclamation1.365–1.381×
mem論理範囲アロケータ:整列、分割、結合、所有権OffsetAllocator、同等条件のアダプタ1.031–1.043×
mem-vmモデルローダーの仮想範囲遅延解放llama.cpp vector 再構築方式1.031–1.047×
SIMDVQSort 部分 / 完全ソートHighway VQSort1.147–7.463×
containerモデルキャッシュ LRU:検索、挿入、重み付き追い出しAbseil アダプタ1.222–1.273×
container-queue無制限の型付き MPMC、4 生産者 / 4 消費者oneTBB queue1.261–1.289×
container-text20-byte 小レコードの Base64 エンコードsimdutf1.033–1.045×
sched4 つの P-core でリクエストを分配・集約Marl1.646–1.663×
sched完了時の起床Marl1.0266–1.0285×
io-http分割 HTTP/1 ストリーミングの全ライフサイクルBoost.Beast3.030–3.065×
io-tls検証付き非同期 TLS ハンドシェイクAsio、同じ OpenSSL1.099–1.102×
io-http264 ストリームの小応答多重化とフロー制御nghttp21.466–1.478×
io-transfer64 MiB HTTP Range 再開と検証libcurl1.206–1.247×
io-websocket124 B–1 MiB の WebSocket マスキングBoost.Beast2.005–3.354×

性能を支える設計

システム全体を見据えた性能。

メモリ、コンテナ、SIMD、スケジューリング、I/O がアロケータ、エラー、ライフサイクルの規約を共有。サブシステム間の重複した統合作業を減らします。

キャンセルと終了まで設計する。

キャンセル、タイムアウト、遅れて届く完了通知、リソース解放の所有権を明確化。非同期処理の完了、排出、終了までの手順を定義しています。

リソースを自分で制御する。

アロケータの注入、キュー容量、メモリ割り当て上限を明示的に指定。バックプレッシャーや割り当て失敗は、アプリケーションが処理できる結果として返します。

失敗する経路も検証する。

不正入力、メモリ不足、並行処理の競合、公開 API をまたぐ一連の処理を検証。ファジング、障害注入、メモリとスレッドのサニタイザを組み合わせます。

必要なものだけを導入する。

単一の依存関係グラフから必要なコンポーネントを選択。依存バージョンの固定とオフラインビルドに対応し、独立した利用側プロジェクトで公開インターフェースと統合境界を検証します。

技術プレビュー

今後の進展にご期待ください。

HYLE は現在開発中です。公開形態と入手方法は後日お知らせします。