hical
Experimental · C++ · standard configuration · completeness 4/4
Hical is a modern C++20/26 high-performance web framework built on Boost.Asio, featuring coroutine-based async I/O (boost::asio::awaitable<T>), three-tier PMR memory pools, zero-copy HTTP parsing via picohttpparser, and a self-developed WebSocket stack (RFC 6455 with permessage-deflate). SO_REUSEPORT multi-acceptor model on Linux. Dual-track C++26 reflection layer (P2996 / C++20 macro fallback).
Achievements
🥇 5 Gold · 🥈 6 Silver. Top three of a field, taken in this entry's own league: the family composite, the same composite among entries written in the same language, and each test profile it is scored on. Every field is the one the badges publish, so a medal and a badge always say the same thing. How medals are awarded.
| Medal | Award | Field | Rank |
|---|---|---|---|
| 🥇 Gold | Test profile | Connection · Baseline | 1 of 5 |
| 🥇 Gold | Test profile | Connection · Short-lived | 1 of 5 |
| 🥇 Gold | Test profile | WebSocket · Echo | 1 of 4 |
| 🥇 Gold | Test profile | WebSocket · Echo Short-lived | 1 of 4 |
| 🥇 Gold | Test profile | Workload · 8Gbit | 1 of 4 |
| 🥈 Silver | Family composite | Composite · HTTP/1.1 | 2 of 5 |
| 🥈 Silver | Family composite | Composite · WebSocket | 2 of 4 |
| 🥈 Silver | Test profile | Concurrency · Async Delay | 2 of 4 |
| 🥈 Silver | Test profile | Efficiency · Latency-1M | 2 of 4 |
| 🥈 Silver | Test profile | Workload · JSON Comp | 2 of 4 |
| 🥈 Silver | Test profile | Workload · JSON TLS | 2 of 4 |
Composite rank
Each profile of a family is worth 100 to the entry that leads it, and the composite is the sum over the family, less 2.5% for each of routing, middleware, request and response the entry does not do for you - its completeness factor, which the WebSocket and gRPC families do not carry. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.
| Family | Rank | Composite |
|---|---|---|
| HTTP/1.1 | 2 of 5 | 6562 |
| WebSocket | 2 of 4 | 2082 |
Every result
Alpha Round, 20 runs. Requests per second is the best of three; latency, CPU and memory come from that run.
| Category | Profile | Conns | Req/sec | Avg | p99 | CPU | Memory |
|---|---|---|---|---|---|---|---|
| Connection | Baseline | 4,096 | 3,228,043 | 1.27ms | 1.77ms | 6658.4% | 140MiB |
| Connection | Pipelined | 4,096 | 4,851,267 | 13.55ms | 23.80ms | 6364.4% | 134MiB |
| Connection | Short-lived | 4,096 | 2,407,681 | 1.68ms | 24.80ms | 6452.8% | 114MiB |
| Concurrency | Async Delay | 32,000 | 1,682,305 | 18.89ms | 22.00ms | 6479.7% | 886MiB |
| Efficiency | Latency-10K | 1,024 | 9,981 | 77.6us | 109.0us | 29.0% | 50MiB |
| Efficiency | Latency-1M | 1,024 | 997,636 | 93.7us | 171.0us | 2482.4% | 53MiB |
| Efficiency | Latency-500K/8 | 1,024 | 429,185 | 1392113.9us | 3298304.0us | 841.7% | 33MiB |
| Workload | JSON Comp | 4,096 | 261,955 | 15.52ms | 205.30ms | 6275.8% | 135MiB |
| Workload | JSON Comp | 16,384 | 258,965 | 56.43ms | 1.34s | 6097.7% | 137MiB |
| Workload | JSON TLS | 4,096 | 549,765 | 7.39ms | 69.93ms | 6645.8% | 517MiB |
| Workload | 8Gbit | 512 | 49,343 | 107.1us | 143.0us | 247.7% | 114MiB |
| Database | Async DB | 1,024 | 136,223 | 6.95ms | 60.50ms | 2818.5% | 117MiB |
| WebSocket | Echo | 512 | 3,614,222 | 141us | 290us | 6421.1% | 46MiB |
| WebSocket | Echo | 4,096 | 3,676,914 | 1.11ms | 1.70ms | 6570.8% | 153MiB |
| WebSocket | Echo | 16,384 | 3,287,402 | 4.96ms | 6.26ms | 6555.5% | 507MiB |
| WebSocket | Echo Pipelined | 512 | 4,323,930 | 1.89ms | 3.59ms | 6527.5% | 46MiB |
| WebSocket | Echo Pipelined | 4,096 | 4,243,703 | 15.40ms | 20.50ms | 6164.2% | 152MiB |
| WebSocket | Echo Pipelined | 16,384 | 3,844,632 | 67.22ms | 77.40ms | 6414.8% | 535MiB |
| WebSocket | Echo Short-lived | 512 | 1,919,829 | 172us | 536us | 5688.7% | 76MiB |
| WebSocket | Echo Short-lived | 4,096 | 2,275,264 | 534us | 1.03ms | 6435.4% | 160MiB |
Compared with
The C++ entries around hical on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs hical | |
|---|---|---|---|
| drogon | 4408 | -33% | head to head |
| cutelyst | 4387 | -33% | head to head |
Compare hical with any C++ entry · Compare hical with any entry, in any language · Every C++ entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry