1
0
Fork 0
mirror of https://github.com/zigzap/zap.git synced 2025-10-20 15:14:08 +00:00
Commit graph

13 commits

Author SHA1 Message Date
Rene Schallner
49f5cd9342
perf-measures: re-introduce httpz
In the 0.12.0 branch, [httpz](https://github.com/karlseguin/http.zig)
was added to the perf measurements.

Apparently, somehow this got lost, which is a pity. httpz is
super-promising.

Given the perf benchmarks in [this
PR comment](https://github.com/antonputra/tutorials/pull/280#issuecomment-2362637299),
I would have expected httpz to be on par with or better than zap in our
`measure.sh` tests.

However, on my M3 max mac box, I get the following:

**ZAP**:

```
➜  zap git:(reintroduce_httpz_perf) ✗ ./wrk/measure.sh zig-zap
INFO: Listening on port 3000
Listening on 0.0.0.0:3000
INFO: Server is running 4 workers X 4 threads with facil.io 0.7.4 (kqueue)
* Detected capacity: 131056 open file limit
* Root pid: 73099
* Press ^C to stop

INFO: 73110 is running.
INFO: 73111 is running.
INFO: 73112 is running.
INFO: 73113 is running.
========================================================================
                          zig-zap
========================================================================
Running 10s test @ http://127.0.0.1:3000
  4 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.31ms  533.41us  18.77ms   90.57%
    Req/Sec    76.67k     9.04k   86.46k    84.25%
  Latency Distribution
     50%    1.15ms
     75%    1.17ms
     90%    1.75ms
     99%    2.94ms
  3052064 requests in 10.02s, 462.80MB read
  Socket errors: connect 0, read 135, write 0, timeout 0
Requests/sec: 304601.19
Transfer/sec:     46.19MB
```

**httpz**:

```
➜  zap git:(reintroduce_httpz_perf) ✗ ./wrk/measure.sh httpz
========================================================================
                          httpz
========================================================================
Running 10s test @ http://127.0.0.1:3000
  4 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.26ms  528.72us  18.84ms   84.61%
    Req/Sec    44.46k     7.35k   85.50k    88.00%
  Latency Distribution
     50%    2.35ms
     75%    2.39ms
     90%    2.43ms
     99%    3.26ms
  1768925 requests in 10.01s, 91.10MB read
  Socket errors: connect 0, read 230, write 0, timeout 0
Requests/sec: 176712.50
Transfer/sec:      9.10MB
```

Which looks way off. I must admit, I might have done a bad httpz
implementation.

Seeking help from @karlseguin. My motivation: route people away from zap
to alternatives like httpz or even zzz, as those are pure zig, and seem
to be of really good performance. I want a world in which we don't have
to resort to C frameworks to do good, zig-worthy servers 😄 to come
true.
2024-09-20 15:05:13 +02:00
Rene Schallner
dda5e0e209 Incorporate changes from #37
I intentionally kept the bythebook example for reference.
2023-08-23 15:41:30 +02:00
Rene Schallner
f10b76f229 renamed bench targets to make langs more clear 2023-08-22 16:45:00 +02:00
Rene Schallner
49b2762ecb renamed wrk test cpp -> cpp-beast 2023-08-22 16:32:43 +02:00
Rene Schallner
ee20bce22d renamed the rust versions in perftests 2023-08-22 15:59:36 +02:00
Rene Schallner
02b92d1f5c wrk/measure.sh (@alexpyatttaev): pin processes to cpus 2023-08-22 14:23:49 +02:00
Matheus Catarino França
fb0bfe9631 wrk: cpp-beast sample added 2023-08-19 17:17:16 -03:00
Leonardo Costa
9009638982 Add C# version 2023-06-14 23:13:53 -04:00
Rene Schallner
d0c59ab008 fixed AuthEndpoint callbacks, BasicAuth logging
AuthEndpoint callbacks now provide pointers to the original
SimpleEndpoint structs, so their fieldParentPtr calls work.
Added extensive debug() logging to BasicAuth with .UserPassword.
2023-05-01 05:55:08 +02:00
Rene Schallner
d7946ec3af added axum and sanic wrk tests thx @felipetrz 2023-04-29 05:47:57 +02:00
Rene Schallner
b9be9eb50f wrl/measure.sh: updated to latest zig 2023-04-18 19:49:38 +02:00
Rene Schallner
309eaaaeff updated wrk stats with rust results 2023-01-15 06:41:19 +01:00
Rene Schallner
3db2263383 wrk results 2023-01-15 05:19:19 +01:00