Skip to content

Add vanilla-veb_like (vanilla with its declarative router; emerging, tuned) - #1542

Open
enghitalo wants to merge 2 commits into
MDA2AV:mainfrom
enghitalo:vanilla/veb_like-flagship
Open

enghitalo wants to merge 2 commits into
MDA2AV:mainfrom
enghitalo:vanilla/veb_like-flagship

Conversation

@enghitalo

@enghitalo enghitalo commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds vanilla-veb_like: vanilla, a multi-threaded HTTP/1.1 server written in V, as a framework entry using its declarative router, http1_1.veb_like. type: emerging, mode: tuned.

#1541 adds vanilla-router, the same app with vanilla's explicit router. The two entries share app.v byte for byte, so the leaderboard compares the two routing styles on identical handlers.

Routing

Routes are attributes on the methods of App (:8080) and TlsApp (:8081):

@['GET /json/:count']
fn (app &App) json(req HttpRequest, p &Params, mut out []u8, _ int, worker_state voidptr, mut _ core.EventLoop) core.Step {
	mut w := unsafe { &Worker(worker_state) }
	return json_items(mut w, req, p.get('count'), mut out)
}

veb_like.new reads the attributes at startup and compiles them into a segment trie, failing on a malformed or conflicting route. Per request, the router does the following:

  • parses the request and walks the trie;
  • fills the route's :params with views of the request buffer;
  • calls the method directly (the $for over the methods becomes a jump table);
  • answers 404, 405 with Allow, and 501 itself, and serves HEAD from the GET route.

Every route goes through the router, on both listeners. There is no fast path ahead of it. A request whose Connection header lists close gets its response from any route, then the connection closes. That holds for the synchronous and the parked routes alike, but not for the router's own 404/405/501.

Profiles

The full HTTP/1.1 set:

What each route does:

  • /json/{count} is serialized per request from the dataset's fields. When Accept-Encoding accepts gzip, it is compressed per request with libdeflate, at level 1. On the 50-item body, level 1 takes 15 µs for 1708 bytes and level 6 takes 38 µs for 1478 bytes. Compression is most of the request, and json-comp scores rps × ratio², so level 1 comes out ahead. Brotli is slower at every size on these 4 to 8 KB bodies.
  • async-db and fortunes park the request on vanilla's async Postgres driver, pg_async, until the reply arrives. Each worker has its own pipelined pool, sized from DATABASE_MAX_CONN. fortunes adds the runtime row, sorts, and renders the page by hand per request, every message HTML-escaped.
  • /delay/{ms} parks on a one-shot timerfd from a per-worker free-list.
  • /static/* goes through vanilla's static_assets. It picks the .br/.gz sibling per Accept-Encoding and re-checks each file against the disk (one stat per 100 ms). Bodies of 16 KiB or more go out with sendfile(2), over kTLS on :8081.
  • :8081 is TLS 1.3 with ALPN http/1.1 through Mbed TLS 4, built as in vanilla-epoll.

Unlike the vanilla-epoll engine entry, nothing is cached and nothing is pre-serialized. There is no gzip response cache, no JSON prefixes, and no skip-parse path for /pipeline.

Type, mode, completeness

  • type: emerging. vanilla runs production services, but it is young and has no ecosystem. These entries were first filed as flagship; flagship is for a language's reference framework (see the discussion in Add vanilla-veb_like (vanilla with its declarative router; emerging, tuned) #1542).

  • mode: tuned. The JSON and HTML are written by hand, compression uses libdeflate, and the build uses -gc none. vanilla has no JSON serializer, template engine or compression middleware of its own, so Standard's per-profile rules can't be met as written.

  • completeness: routing is true, the other three axes are false.

    • routing: the router matches the method and the path, with :params and *catch-all, and dispatches to the registered method.
    • middleware: vanilla has no pipeline around the handler.
    • request: the handler gets parsed headers and a query lookup, but a chunked body arrives with its framing, and the entry dechunks it.
    • response: handlers append the raw response bytes.

    vanilla-router declares routing: false, because there the app branches on the path segments itself.

Build

  • V master 5516000 (0.5.2), built from source. The bootstrap is pinned to vc 104d76c3, which vc generated from that same V commit, and tccbin d6e7ac1b, built with make local=1.
  • vanilla pinned to main fb4c7e7, the first commit with both routers.
  • Built with -prod -gc none. Each worker reuses its buffers. Measured with an LD_PRELOAD malloc counter after warm-up:
    • every plaintext route makes 0 allocation calls per request, except fortunes, where libc qsort takes one scratch buffer and frees it;
    • async-db's live heap stops growing after warm-up.

Validation

Run locally on this branch:

  • validate.sh vanilla-veb_like: 79 passed, 0 failed, with validate-frag: 9 passed.
  • site/data/tls/vanilla-veb_like.json is the record the validator wrote.

PR Commands — comment on this PR to trigger (requires collaborator approval):

Command Description
/benchmark -f <framework> Run every test the framework subscribes to
/benchmark -f <framework> -t <test> Run one test only
/benchmark -f <framework> --save Run and save results (updates the leaderboard on merge)
/benchmark -f <framework> -t <test> --save Run one test and save results
/benchmark -f <framework> --compare <other> Measure the deltas against another framework instead of this one
/benchmark-multiple -f <fw1>,<fw2>,... Benchmark several frameworks in one run — takes -t and --save too; saved results land in a single commit
/benchmark-multiple --save No -f needed: benchmark and save every framework the PR touches
/benchmark-test -t <test> Benchmark all enabled frameworks subscribed to <test> and save the results

🤖 Generated with Claude Code

…tuned)

vanilla, the V HTTP/1.1 server, as a framework entry routed by
http1_1.veb_like: routes are @['METHOD /path'] attributes compiled into a
segment trie at startup. It subscribes to the HTTP/1.1 profiles
vanilla-epoll serves, with /json serialized and gzip-compressed per request
(libdeflate, level 1) and no response caches. app.v is shared byte for byte
with vanilla-router.

V 5516000 with its vc snapshot, vanilla fb4c7e7. validate.sh: 79 passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@enghitalo

Copy link
Copy Markdown
Contributor Author

/benchmark -f vanilla-veb_like

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: vanilla-veb_like | Test: all tests

Test Conn RPS Rate CPU/req p99 p99.9 CPU Mem Δ RPS Δ Mem
baseline 4096 3,987,671 — — — — 6203.7% 122MiB ~0% ~0%
pipelined 4096 35,627,174 — — — — 6310.3% 132MiB ~0% ~0%
limited-conn 4096 1,059,273 — — — — 3052.2% 55MiB ~0% ~0%
json-comp 4096 975,918 — — — — 6333.3% 170MiB ~0% ~0%
json-comp 16384 951,669 — — — — 6709.5% 490MiB ~0% ~0%
json-tls 4096 1,560,266 — — — — 6125.3% 315MiB ~0% ~0%
8gbit 512 49,144 0.9829 92.15us 236.0us 45168.0us 503.0% 92MiB ~0% ~0%
static-tls 1024 1,105,713 — — — — 6331.9% 119MiB ~0% ~0%
async-db 1024 371,082 — — — — 2997.3% 131MiB ~0% ~0%
fortunes 1024 280,530 — — — — 4670.3% 241MiB ~0% ~0%
latency-1m 1024 997,945 0.9979 19.71us 162.0us 288.0us 2165.2% 69MiB ~0% ~0%
latency-10k 1024 9,981 0.9981 23.54us 102.0us 225.0us 22.7% 66MiB ~0% ~0%
latency-500k-8cpu 1024 498,697 0.9974 14.57us 8804.0us 15212.0us 764.0% 35MiB ~0% ~0%
async 32000 2,621,110 — — — — 6175.6% 1.3GiB ~0% ~0%
Full log
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 10000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.002,
  "requests": 199620,
  "bytes": 21159720,
  "achieved_rate": 9979.86,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9980,
  "bytes_per_sec": 1057864.67,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 32, "mean": 74.3, "stdev": 585.7, "max": 44127,
    "p50": 55, "p75": 64, "p90": 82, "p99": 103, "p99_9": 162, "p99_99": 34064
  },
  "status_codes": { "1xx": 0, "2xx": 199620, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAhV4nC1QT0gUcRSe9/1+s+6fZncnV1paTTaRMJFlkQpZliVQYgOhP0KGdJAi0tJbHjwE2eLGukiwl9QStL0kYiDpoYPQJW9F6yEP4kE6WJRsEh0kpG/GZubNvN/3vve97019rlRrGOg3ji71/yvuoZQ3MtUjIOONnuqclyWpyiYW1Z4aM8vet+HN07NXCjMytiJ/X8nua9lal4N12S7L4WOZHy4OPB8q3i30FbqrXZX0zvnxxIuzh/HZ+lysEp2M7IQ3gx+svcCCv+AvW2t1W43vEvvJr63jzcvx8Vglsnh8K7xmb9vT4SVr1V/0fff8MT+aP/SBWlb7mMRT7MpvWaWn4Wl5Jo8W5FrvYM9IT+e9O6MPcjIyONp7OXoyHAlGjoWDwYjH69caHq214VEIQGkDIdTBBg8+5AXNeCnIELqKz158A1YEE8CcYE6hpJ0kizgGMIT3ClOAhU+CC/giSOI2ZgRt6KCKjSYYDAuNnNCF+zAxITqvWGvCJcRwEz8Fb4TsPtZaOHJK0K5DSJFsUaCfUgYzhVqKmHxblDKJOXcrW1BD0wbDZhYi0cdJJ2ivjqhzuoF2JHQaLdokJ8WlApTJkp1BA/ikGdfxkKYsnGMxwElxkN3m/pBuMimVZGq6C3W4sg0I6AQI2CQbbP6lsKEI1+CJuFCW4ViyacixouBKc08ueIadTu9FYg4pg1tgMYV/73Z2Ng=="
}
[info] CPU 22.8% | Mem 65MiB
[info] run 2 wins on score

=== Best: 9981 req/s (CPU: 22.7%, Mem: 66MiB) ===
[info] exact CPU: 4.70 core-seconds | 23.536 us/req
=== Fixed-rate: cpu/req 23.54us | p99 102.0us | p99.9 225.0us | rate_ratio 0.9981 ===
[info] saved results/latency-10k/1024/vanilla-veb_like.json
httparena-bench-vanilla-veb_like
httparena-bench-vanilla-veb_like

==============================================
=== vanilla-veb_like / latency-500k-8cpu / 1024c (tool=zrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.004,
  "requests": 9979779,
  "bytes": 1057856574,
  "achieved_rate": 498890.39,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.9978,
  "bytes_per_sec": 52882381.53,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 59557,
  "latency_us": {
    "min": 26, "mean": 1048.0, "stdev": 2314.9, "max": 61631,
    "p50": 191, "p75": 912, "p90": 2831, "p99": 9276, "p99_9": 27560, "p99_99": 38320
  },
  "status_codes": { "1xx": 0, "2xx": 9979779, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 762.5% | Mem 38MiB

[run 2/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.004,
  "requests": 9977918,
  "bytes": 1057659308,
  "achieved_rate": 498803.76,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.9976,
  "bytes_per_sec": 52873198.74,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 55209,
  "latency_us": {
    "min": 24, "mean": 1056.1, "stdev": 2118.6, "max": 57279,
    "p50": 192, "p75": 932, "p90": 3043, "p99": 9276, "p99_9": 17240, "p99_99": 43248
  },
  "status_codes": { "1xx": 0, "2xx": 9977918, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 765.6% | Mem 36MiB

[run 3/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.004,
  "requests": 9975788,
  "bytes": 1057433528,
  "achieved_rate": 498697.42,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.9974,
  "bytes_per_sec": 52861926.51,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 61891,
  "latency_us": {
    "min": 25, "mean": 988.6, "stdev": 2017.6, "max": 63967,
    "p50": 184, "p75": 892, "p90": 2785, "p99": 8804, "p99_9": 15212, "p99_99": 48208
  },
  "status_codes": { "1xx": 0, "2xx": 9975788, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 764.0% | Mem 35MiB
[info] run 3 wins on score

=== Best: 498697 req/s (CPU: 764.0%, Mem: 35MiB) ===
[info] exact CPU: 145.35 core-seconds | 14.571 us/req
=== Fixed-rate: cpu/req 14.57us | p99 8804.0us | p99.9 15212.0us | rate_ratio 0.9974 ===
[info] saved results/latency-500k-8cpu/1024/vanilla-veb_like.json
httparena-bench-vanilla-veb_like
httparena-bench-vanilla-veb_like

==============================================
=== vanilla-veb_like / async / 32000c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.41ms   11.90ms   12.10ms   12.90ms   202.20ms

  25588384 requests in 10.00s, 25556384 responses
  Throughput: 2.56M req/s
  Bandwidth:  260.74MB/s
  Status codes: 2xx=25556384, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 25556384 / 25556384 responses (100.0%)
[info] CPU 5903.2% | Mem 1.3GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.10ms   11.90ms   12.10ms   12.60ms   35.60ms

  26243108 requests in 10.00s, 26211108 responses
  Throughput: 2.62M req/s
  Bandwidth:  267.42MB/s
  Status codes: 2xx=26211108, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 26211108 / 26211108 responses (100.0%)
[info] CPU 6175.6% | Mem 1.3GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.15ms   11.90ms   12.10ms   12.90ms   37.20ms

  26135244 requests in 10.00s, 26103244 responses
  Throughput: 2.61M req/s
  Bandwidth:  266.31MB/s
  Status codes: 2xx=26103244, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 26103244 / 26103244 responses (100.0%)
[info] CPU 6140.8% | Mem 1.3GiB

=== Best: 2621110 req/s (CPU: 6175.6%, Mem: 1.3GiB) ===
[info] input BW: 119.98MB/s (avg template: 48 bytes)
[info] saved results/async/32000/vanilla-veb_like.json
httparena-bench-vanilla-veb_like
httparena-bench-vanilla-veb_like
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/results/vanilla-veb_like.json - 14 new, 14 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536

@enghitalo

Copy link
Copy Markdown
Contributor Author

/benchmark -f vanilla-veb_like --save

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

@MDA2AV

MDA2AV commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Hi, can you help me understand the flagship evaluation? This still looks like an engine with some routing on top to me 🤔

@enghitalo

Copy link
Copy Markdown
Contributor Author

**MDA2AV **

Hello, @MDA2AV ! Perhaps I misunderstood your concept of a "flagship." This is the framework I use to deploy my own and my clients' projects to production. What is your concept of a flagship? I'd like to understand it better.

@MDA2AV

MDA2AV commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Hello, @MDA2AV ! Perhaps I misunderstood your concept of a "flagship." This is the framework I use to deploy my own and my clients' projects to production. What is your concept of a flagship? I'd like to understand it better.

Here in HttpArena we split things into 2 large categories, frameworks and engines.

frameworks include: flagship, emerging, experimental
engines include: engine

For all frameworks we expect a framework or library that abstracts all the low level transport, routing and http logic, middleware like compression, serialization, etc so that any developer can use it to develop for example a REST api while having to focus only on his application logic.
For experimental we accept frameworks that are unproven or new, typically these should be more performant but are not production level.
For emerging these should be somewhat production ready but not a years hardened product with a big ecosystem around it.
For flagship we consider only the references in that technology, for example for c# would be aspnet, rust actix,so basically frameworks that not only are the go to for most people in that technology/language but are also typically projects with many years of production hardening and feature complete.

vanilla sits in the engine section because it is a low level solution to build web applications, you handle http, compression and even serialization directly, while you may use it in your own deployments, it is not something sustainable for a large project

Per review: flagship is reserved for a language's reference framework
(aspnet for C#, actix for Rust). vanilla runs production services but is
young and has no ecosystem, which is what emerging describes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@enghitalo enghitalo changed the title Add vanilla-veb_like (vanilla with its declarative router; flagship, tuned) Add vanilla-veb_like (vanilla with its declarative router; emerging, tuned) Oct 9, 2026
@enghitalo

Copy link
Copy Markdown
Contributor Author

Thanks, that makes it clear. By that definition flagship doesn't fit: vanilla isn't V's reference framework (that would be veb), and it doesn't have the years of hardening you describe. I've switched both entries, this one and #1541, to emerging.

On engine vs framework, the docs read differently to me, and that's why I filed these as frameworks:

  • The framework rules say the one requirement is implementing HTTP itself. Routing and middleware aren't required, and a minimal server qualifies as long as applications are genuinely written and deployed on it.
  • The engine page says a low-level server library people ship services on directly is a framework entry. Having no router, middleware or ecosystem doesn't make something an engine.

What vanilla leaves to the developer (serialization, compression, middleware) is what the completeness factor prices. These entries declare it: ×0.90 for vanilla-router, ×0.925 for this one.

If you'd still rather keep vanilla with the engines, I'll follow that. Should these become engine entries next to vanilla-epoll, or would you prefer I close them? In that case it may be worth stating in the docs that frameworks must provide serialization and compression, so the next submitter doesn't read them the way I did.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants