Repository navigation
Add orisha and orisha-uring (Koru) entries - #1556
Merged
Merged
Conversation
Orisha is an HTTP server written in Koru — a language that compiles to native code through a metacircular pipeline and emitted Zig — with the route table resolved at compile time. Both entries build the same consumer program (orisha/httparena/main.k, cloned from korulang/orisha main at image build); they differ only in the pump backend: - orisha: epoll pump (level-triggered readiness, batched pipelined writes) - orisha-uring: io_uring pump (per-worker rings + SO_REUSEPORT, multishot accept/recv, provided-buffer pool, adaptive CQE coalescing, kTLS handoff after the handshake) Subscribed: baseline, latency-1m, latency-10k, pipelined, limited-conn, json-comp, json-tls. No response cache and no startup pre-serialization: json serializes every field per request and compresses per request. Local validator: 37 passed / 0 failed on the orisha entry (baseline, anti-cheat randomized inputs, exhaustive TCP fragmentation, pipelined, json-comp, json-tls incl. TLS 1.3 + AEAD negotiation). The io_uring entry validates on hosts whose seccomp permits io_uring_setup; Docker Desktop's default profile refuses it, so its local validation was run with a permissive profile.
Owner
Author
|
/benchmark-multiple --save |
Contributor
|
👋 Benchmark request received. A collaborator will review and approve the run. |
Contributor
Benchmark ResultsFrameworks: 2 | Test: ✅
|
| Test | Conn | RPS | Rate | CPU/req | p99 | p99.9 | CPU | Mem | Δ RPS | Δ Mem |
|---|---|---|---|---|---|---|---|---|---|---|
| baseline | 4096 | 501,761 | — | — | — | — | 6470.1% | 206MiB | ~0% | ~0% |
| pipelined | 4096 | 7,953,337 | — | — | — | — | 6212.4% | 215MiB | ~0% | ~0% |
| limited-conn | 4096 | 361,621 | — | — | — | — | 5696.9% | 214MiB | ~0% | ~0% |
| json-comp | 4096 | 417,915 | — | — | — | — | 6005.6% | 226MiB | ~0% | ~0% |
| json-comp | 16384 | 380,531 | — | — | — | — | 6164.8% | 461MiB | ~0% | ~0% |
| json-tls | 4096 | 440,016 | — | — | — | — | 6224.1% | 342MiB | ~0% | ~0% |
| latency-1m | 1024 | 499,192 | 0.4992 |
127.70us | 9883648.0us | 10047488.0us | 6387.5% | 155MiB | ~0% | ~0% |
| latency-10k | 1024 | 9,982 | 0.9982 | 19.01us | 88.0us | 366.0us | 17.9% | 150MiB | ~0% | ~0% |
✅ orisha-uring
| Test | Conn | RPS | Rate | CPU/req | p99 | p99.9 | CPU | Mem | Δ RPS | Δ Mem |
|---|---|---|---|---|---|---|---|---|---|---|
| baseline | 4096 | 4,114,610 | — | — | — | — | 6300.7% | 445MiB | ~0% | ~0% |
| pipelined | 4096 | 40,513,032 | — | — | — | — | 6363.7% | 439MiB | ~0% | ~0% |
| limited-conn | 4096 | 2,665,265 | — | — | — | — | 5230.5% | 527MiB | ~0% | ~0% |
| json-comp | 4096 | 1,621,485 | — | — | — | — | 6613.6% | 528MiB | ~0% | ~0% |
| json-comp | 16384 | 1,564,485 | — | — | — | — | 6634.7% | 970MiB | ~0% | ~0% |
| json-tls | 4096 | 1,482,980 | — | — | — | — | 6304.6% | 416MiB | ~0% | ~0% |
| latency-1m | 1024 | 998,091 | 0.9981 | 18.96us | 163.0us | 6734.0us | 2080.6% | 393MiB | ~0% | ~0% |
| latency-10k | 1024 | 9,979 | 0.9979 | 23.08us | 103.0us | 159.0us | 22.1% | 391MiB | ~0% | ~0% |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the two Koru entries from @COCPORN's
submission/orishabranch on korulang/HttpArena. The commit and its authorship are unchanged.orisha: Orisha with its default pump.orisha-uring: the same sources built with--build=io-uring, which uses a ring per worker with SO_REUSEPORT, multishot recv and kTLS.Both images build koru, koru-libs and orisha from
mainwith Zig 0.15.2. The routes live in orisha's repo, inhttparena/main.kandlib/httparena.kz.Both entries are
emergingandstandard, and subscribe to baseline, pipelined, limited-conn, json-comp, json-tls, latency-1m and latency-10k.