HttpArena
Frameworks

proxygen-coro

Engine · C++ · engine: proxygen

Meta's Proxygen native coroutine HTTPServer and HTTPSource APIs across HTTP/1.1, HTTP/1.1 TLS, h2c, HTTP/2 TLS, HTTP/3 QUIC, and RFC 6455 WebSockets.

Achievements

🥈 1 Silver · 🥉 3 Bronze. 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.

MedalAwardFieldRank
🥈 SilverWithin its languageC++ · WebSocket2 of 3
🥉 BronzeFamily compositeComposite · HTTP/33 of 5
🥉 BronzeTest profileHTTP/3 · Baseline3 of 5
🥉 BronzeTest profileHTTP/3 · Static3 of 5

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.

FamilyRankComposite
HTTP/1.121 of 231073
HTTP/25 of 7976
HTTP/33 of 5780
WebSocket8 of 91306

Every result

Alpha Round, 26 runs. Requests per second is the best of three; latency, CPU and memory come from that run.

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0961,559,1872.33ms3.00ms6327.2%173MiB
ConnectionPipelined4,0961,619,44137.31ms43.40ms6792.9%189MiB
ConnectionShort-lived4,0961,058,0942.16ms15.30ms6670.2%133MiB
WorkloadJSON Comp4,096262,21213.54ms46.80ms6321.5%196MiB
WorkloadJSON Comp16,384262,33935.46ms63.40ms6206.4%368MiB
WorkloadJSON TLS4,096619,7136.67ms85.33ms6259.3%206MiB
WorkloadStatic TLS1,024566,2671.80ms34.76ms6440.2%182MiB
HTTP/2Baseline2565,185,2684.73ms18.27ms6414.0%135MiB
HTTP/2Baseline1,0244,232,54922.38ms96.56ms6305.8%305MiB
HTTP/2Static256569,86713.84ms46.28ms6349.6%208MiB
HTTP/2Static1,024576,92153.90ms224.45ms6069.3%528MiB
HTTP/2Baseline (h2c)2565,209,7814.74ms12.32ms6484.3%135MiB
HTTP/2Baseline (h2c)1,0244,293,34622.98ms74.29ms6326.3%314MiB
HTTP/2Baseline (h2c)4,0963,810,03985.44ms306.24ms5970.5%879MiB
HTTP/2JSON (h2c)1,0241,059,59130.07ms50.77ms6367.3%275MiB
HTTP/2JSON (h2c)4,096996,239103.03ms391.73ms6035.7%734MiB
HTTP/3Baseline642,222,0742.40ms5.17ms3639.1%160MiB
HTTP/3Static64318,83015.75ms33.61ms4108.9%376MiB
WebSocketEcho5121,876,350272us361us6667.9%83MiB
WebSocketEcho4,0962,022,8731.88ms2.35ms6380.0%168MiB
WebSocketEcho16,3841,827,5853.82ms6.55ms6145.5%331MiB
WebSocketEcho Pipelined51228,333,958288us374us6800.9%82MiB
WebSocketEcho Pipelined4,09631,309,6001.80ms2.36ms6418.6%170MiB
WebSocketEcho Pipelined16,38428,020,3714.60ms7.27ms6188.4%341MiB
WebSocketEcho Short-lived5121,008,248152us511us6216.1%100MiB
WebSocketEcho Short-lived4,0961,010,338177us767us6172.3%107MiB

Compared with

The C++ entries around proxygen-coro on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.

EntryCompositevs proxygen-coro
drogon4461+316%head to head
userver3256+203%head to head
proxygen1227+14%head to head

Compare proxygen-coro with any C++ entry · Compare proxygen-coro with any entry, in any language · Every C++ entry, ranked

Results updated · How the benchmark is run · The machine · Add or fix an entry