Skip to content

Add Sharaf Potateh benchmark entry - #1753

Open
sake92 wants to merge 6 commits into
MDA2AV:mainfrom
sake92:main
Open

sake92 wants to merge 6 commits into
MDA2AV:mainfrom
sake92:main

Conversation

@sake92

@sake92 sake92 commented Nov 11, 2026

Copy link
Copy Markdown

Adds sharaf scala framework.
This flavor is based on potateh experimental backend.

@sake92

sake92 commented Nov 12, 2026

Copy link
Copy Markdown
Author

/benchmark -f sharaf-potateh

@github-actions

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: sharaf-potateh | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 4096 69,085 1181.0% 1.4GiB ~0% ~0%
pipelined 4096 92,539 820.7% 3.4GiB ~0% ~0%
limited-conn 4096 9,945 7.6% 230MiB ~0% ~0%

Composite score, main against this run, in the board's default view:

Family main this run Δ
HTTP/1.1 - 20.0 (32 of 32) -

The results on main were measured in another session, so a few points up or down can be the machine and not the change.

Full log
=== Best: 69085 req/s (CPU: 1181.0%, Mem: 1.4GiB) ===
[info] input BW: 5.34MB/s (avg template: 81 bytes)
[info] saved results/baseline/4096/sharaf-potateh.json
httparena-bench-sharaf-potateh
httparena-bench-sharaf-potateh

==============================================
=== sharaf-potateh / pipelined / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   113.35ms   68.40ms   181.10ms    1.31s    3.72s

  515461 requests in 5.00s, 459605 responses
  Throughput: 91.89K req/s
  Bandwidth:  16.83MB/s
  Status codes: 2xx=459605, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 459602 / 459605 responses (100.0%)
[info] CPU 865.6% | Mem 1.2GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/pipeline
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   210.06ms   164.60ms   340.60ms    1.44s    2.40s

  501777 requests in 5.00s, 454193 responses
  Throughput: 90.80K req/s
  Bandwidth:  16.63MB/s
  Status codes: 2xx=454193, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 454192 / 454193 responses (100.0%)
[info] CPU 796.7% | Mem 2.0GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/pipeline
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   292.64ms   257.70ms   495.70ms    1.26s    2.85s

  517161 requests in 5.00s, 462697 responses
  Throughput: 92.50K req/s
  Bandwidth:  16.94MB/s
  Status codes: 2xx=462697, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 462695 / 462697 responses (100.0%)
[info] CPU 820.7% | Mem 3.4GiB

=== Best: 92539 req/s (CPU: 820.7%, Mem: 3.4GiB) ===
[info] saved results/pipelined/4096/sharaf-potateh.json
[warn] sharaf-potateh pipelined/4096: container log was 8497500 bytes, truncated to 8000000
httparena-bench-sharaf-potateh
httparena-bench-sharaf-potateh

==============================================
=== sharaf-potateh / limited-conn / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.95ms    288us   5.36ms   18.50ms   31.20ms

  49837 requests in 5.00s, 49726 responses
  Throughput: 9.94K req/s
  Bandwidth:  1.82MB/s
  Status codes: 2xx=49726, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 49719 / 49726 responses (100.0%)
  Reconnects: 3971714
  Errors: connect 3966530, read 0, timeout 0
  Per-template: 16574,16609,16536
  Per-template-ok: 16574,16609,16536
[info] CPU 7.6% | Mem 230MiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency      0us      0us      0us      0us      0us

  0 requests in 5.00s, 0 responses
  Throughput: 0 req/s
  Bandwidth:  0B/s
  Status codes: 2xx=0, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 0 / 0 responses (0.0%)
  Reconnects: 5142783
  Errors: connect 5142773, read 0, timeout 0
  Per-template: 0,0,0
  Per-template-ok: 0,0,0
[info] CPU 0.0% | Mem 0MiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency      0us      0us      0us      0us      0us

  0 requests in 5.00s, 0 responses
  Throughput: 0 req/s
  Bandwidth:  0B/s
  Status codes: 2xx=0, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 0 / 0 responses (0.0%)
  Reconnects: 5004873
  Errors: connect 5004868, read 0, timeout 0
  Per-template: 0,0,0
  Per-template-ok: 0,0,0
[info] CPU 0.0% | Mem 0MiB

=== Best: 9945 req/s (CPU: 7.6%, Mem: 230MiB) ===
[info] input BW: 786.67KB/s (avg template: 81 bytes)
[info] saved results/limited-conn/4096/sharaf-potateh.json
httparena-bench-sharaf-potateh
httparena-bench-sharaf-potateh
[info] skip: sharaf-potateh does not subscribe to json-comp
[info] skip: sharaf-potateh does not subscribe to json-tls
[info] skip: sharaf-potateh does not subscribe to 8gbit
[info] skip: sharaf-potateh does not subscribe to static-tls
[info] skip: sharaf-potateh does not subscribe to async-db
[info] skip: sharaf-potateh does not subscribe to fortunes
[info] skip: sharaf-potateh does not subscribe to baseline-h2
[info] skip: sharaf-potateh does not subscribe to static-h2
[info] skip: sharaf-potateh does not subscribe to baseline-h2c
[info] skip: sharaf-potateh does not subscribe to json-h2c
[info] skip: sharaf-potateh does not subscribe to baseline-h3
[info] skip: sharaf-potateh does not subscribe to static-h3
[info] skip: sharaf-potateh does not subscribe to gateway-64
[info] skip: sharaf-potateh does not subscribe to gateway-h3
[info] skip: sharaf-potateh does not subscribe to production-stack
[info] skip: sharaf-potateh does not subscribe to unary-grpc
[info] skip: sharaf-potateh does not subscribe to unary-grpc-tls
[info] skip: sharaf-potateh does not subscribe to echo-ws
[info] skip: sharaf-potateh does not subscribe to echo-ws-pipeline
[info] skip: sharaf-potateh does not subscribe to echo-ws-limited
[info] skip: sharaf-potateh does not subscribe to latency-1m
[info] skip: sharaf-potateh does not subscribe to latency-10k
[info] skip: sharaf-potateh does not subscribe to latency-500k-8cpu
[info] skip: sharaf-potateh does not subscribe to async
[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/sharaf-potateh.json - 3 new, 3 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

@sake92

sake92 commented Nov 14, 2026

Copy link
Copy Markdown
Author

Made some improvements, should be more performant now.. 😅

@sake92

sake92 commented Nov 14, 2026

Copy link
Copy Markdown
Author

/benchmark -f sharaf-potateh

@github-actions

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: sharaf-potateh | Test: all tests

No results captured

Full log
#8 2.042 ( 6/15) Installing fortify-headers (1.1-r5)
#8 2.052 ( 7/15) Installing libatomic (15.2.0-r2)
#8 2.061 ( 8/15) Installing isl26 (0.26-r1)
#8 2.082 ( 9/15) Installing mpfr4 (4.2.2-r0)
#8 2.096 (10/15) Installing mpc1 (1.3.1-r1)
#8 2.107 (11/15) Installing gcc (15.2.0-r2)
#8 2.893 (12/15) Installing libstdc++-dev (15.2.0-r2)
#8 3.029 (13/15) Installing llvm21-linker-tools (21.1.2-r1)
#8 3.040 (14/15) Installing musl-dev (1.2.5-r24)
#8 3.096 (15/15) Installing clang21 (21.1.2-r2)
#8 3.117 Executing busybox-1.37.0-r30.trigger
#8 3.137 OK: 589.2 MiB in 117 packages
#8 DONE 4.3s

#9 [build 3/8] WORKDIR /app
#9 DONE 0.1s

#10 [build 4/8] COPY build.sbt .
#10 DONE 0.1s

#11 [build 5/8] COPY project ./project
#11 DONE 0.1s

#12 [build 6/8] RUN sbt update
#12 1.354 [info] welcome to sbt 1.12.15 (Eclipse Adoptium Java 21.0.11)
#12 2.878 [info] loading settings for project app-build from plugins.sbt...
#12 3.390 [info] loading project definition from /app/project
#12 6.125 [info] loading settings for project root from build.sbt...
#12 6.271 [info] set current project to server (in build file:/app/)
#12 10.70 [success] Total time: 4 s, completed Nov 14, 2026, 7:07:37 PM
#12 DONE 11.3s

#13 [build 7/8] COPY src ./src
#13 DONE 0.1s

#14 [build 8/8] RUN sbt -batch nativeLink
#14 1.392 [info] welcome to sbt 1.12.15 (Eclipse Adoptium Java 21.0.11)
#14 1.915 [info] loading settings for project app-build from plugins.sbt...
#14 2.557 [info] loading project definition from /app/project
#14 3.414 [info] loading settings for project root from build.sbt...
#14 3.534 [info] set current project to server (in build file:/app/)
#14 4.825 [info] compiling 1 Scala source to /app/target/native/classes ...
#14 10.38 [warn] there were 18 deprecation warnings; re-run with -deprecation for details
#14 10.38 [warn] one warning found
#14 10.38 [info] done compiling
#14 12.40 [info] Linking (multithreadingEnabled=true) (1691 ms)
#14 12.41 [info] Discovered 2707 classes and 19204 methods after classloading
#14 12.41 [info] Loaded 0 service provider(s) for 1 referenced service(s):
#14 12.41 [info] |-----------------------------------------------------------------------|
#14 12.41 [info] |               Service                | Service Provider |   Status    |
#14 12.41 [info] |-----------------------------------------------------------------------|
#14 12.41 [info] | java.nio.charset.spi.CharsetProvider |       ---        | NoProviders |
#14 12.41 [info] |-----------------------------------------------------------------------|
#14 12.58 [info] Checking intermediate code (quick) (166 ms)
#14 49.60 [info] Discovered 1992 classes and 9636 methods after optimization
#14 49.60 [info] Optimizing (release-full mode) (37014 ms)
#14 57.07 [warn] In the last 10 seconds, 5.016 (52.5%) were spent in GC. [Heap: 0.05GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 67.15 [warn] In the last 10 seconds, 9.57 (96.0%) were spent in GC. [Heap: 0.00GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 77.38 [warn] In the last 10 seconds, 10.008 (100.9%) were spent in GC. [Heap: 0.03GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 96.39 [warn] In the last 10 seconds, 18.417 (184.9%) were spent in GC. [Heap: 0.00GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 105.4 [warn] In the last 10 seconds, 7.247 (73.2%) were spent in GC. [Heap: 0.01GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 111.3 [warn] In the last 10 seconds, 5.437 (54.4%) were spent in GC. [Heap: 0.00GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 136.4 [warn] In the last 10 seconds, 24.448 (245.8%) were spent in GC. [Heap: 0.02GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 142.8 [warn] In the last 10 seconds, 5.078 (50.8%) were spent in GC. [Heap: 0.01GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 152.6 Exception in thread "pool-8-thread-1" Exception in thread "pool-44-thread-1" java.lang.OutOfMemoryError: Java heap space
#14 152.6 	at scala.scalanative.nir.Inst$Let.productElement(Insts.scala:12)
#14 152.6 	at scala.util.hashing.MurmurHash3.productHash(MurmurHash3.scala:76)
#14 152.6 	at scala.util.hashing.MurmurHash3$.productHash(MurmurHash3.scala:246)
#14 152.6 	at scala.runtime.ScalaRunTime$._hashCode(ScalaRunTime.scala:167)
#14 152.6 	at scala.scalanative.nir.Inst$Let.hashCode(Insts.scala:12)
#14 152.6 	at scala.runtime.Statics.anyHash(Statics.java:122)
#14 152.6 	at scala.util.hashing.MurmurHash3$hasher$2.apply(MurmurHash3.scala:140)
#14 152.6 	at scala.util.hashing.MurmurHash3$hasher$2.apply(MurmurHash3.scala:136)
#14 152.6 	at scala.collection.Iterator.foreach(Iterator.scala:943)
#14 152.6 	at scala.collection.Iterator.foreach$(Iterator.scala:943)
#14 152.6 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
#14 152.6 	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
#14 152.6 	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
#14 152.6 	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
#14 152.6 	at scala.util.hashing.MurmurHash3.orderedHash(MurmurHash3.scala:145)
#14 152.6 	at scala.util.hashing.MurmurHash3$.seqHash(MurmurHash3.scala:257)
#14 152.6 	at scala.collection.IndexedSeqLike.hashCode(IndexedSeqLike.scala:44)
#14 152.6 	at scala.collection.IndexedSeqLike.hashCode$(IndexedSeqLike.scala:44)
#14 152.6 	at scala.collection.immutable.Vector.hashCode(Vector.scala:69)
#14 152.6 	at scala.runtime.Statics.anyHash(Statics.java:122)
#14 152.6 	at scala.scalanative.nir.ControlFlow$Block.hashCode(ControlFlow.scala:17)
#14 152.6 	at scala.collection.mutable.FlatHashTable.addEntry(FlatHashTable.scala:153)
#14 152.6 	at scala.collection.mutable.FlatHashTable.addEntry$(FlatHashTable.scala:152)
#14 152.6 	at scala.collection.mutable.HashSet.addEntry(HashSet.scala:41)
#14 152.6 	at scala.collection.mutable.FlatHashTable.growTable(FlatHashTable.scala:230)
#14 152.6 	at scala.collection.mutable.FlatHashTable.addEntry(FlatHashTable.scala:164)
#14 152.6 	at scala.collection.mutable.FlatHashTable.addEntry$(FlatHashTable.scala:152)
#14 152.6 	at scala.collection.mutable.HashSet.addEntry(HashSet.scala:41)
#14 152.6 	at scala.collection.mutable.FlatHashTable.addElem(FlatHashTable.scala:144)
#14 152.6 	at scala.collection.mutable.FlatHashTable.addElem$(FlatHashTable.scala:143)
#14 152.6 	at scala.collection.mutable.HashSet.addElem(HashSet.scala:41)
#14 152.6 	at scala.collection.mutable.HashSet.add(HashSet.scala:66)
#14 152.6 java.lang.OutOfMemoryError: Java heap space
#14 152.6 	at scala.scalanative.nir.Inst$Let.productElement(Insts.scala:12)
#14 152.7 	at scala.util.hashing.MurmurHash3.productHash(MurmurHash3.scala:76)
#14 152.7 	at scala.util.hashing.MurmurHash3$.productHash(MurmurHash3.scala:246)
#14 152.7 	at scala.runtime.ScalaRunTime$._hashCode(ScalaRunTime.scala:167)
#14 152.7 	at scala.scalanative.nir.Inst$Let.hashCode(Insts.scala:12)
#14 152.7 	at scala.runtime.Statics.anyHash(Statics.java:122)
#14 152.7 	at scala.util.hashing.MurmurHash3$hasher$2.apply(MurmurHash3.scala:140)
#14 152.7 	at scala.util.hashing.MurmurHash3$hasher$2.apply(MurmurHash3.scala:136)
#14 152.7 	at scala.collection.Iterator.foreach(Iterator.scala:943)
#14 152.7 	at scala.collection.Iterator.foreach$(Iterator.scala:943)
#14 152.7 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
#14 152.7 	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
#14 152.7 	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
#14 152.7 	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
#14 152.7 	at scala.util.hashing.MurmurHash3.orderedHash(MurmurHash3.scala:145)
#14 152.7 	at scala.util.hashing.MurmurHash3$.seqHash(MurmurHash3.scala:257)
#14 152.7 	at scala.collection.IndexedSeqLike.hashCode(IndexedSeqLike.scala:44)
#14 152.7 	at scala.collection.IndexedSeqLike.hashCode$(IndexedSeqLike.scala:44)
#14 152.7 	at scala.collection.immutable.Vector.hashCode(Vector.scala:69)
#14 152.7 	at scala.runtime.Statics.anyHash(Statics.java:122)
#14 152.7 	at scala.scalanative.nir.ControlFlow$Block.hashCode(ControlFlow.scala:17)
#14 152.7 	at scala.collection.mutable.FlatHashTable.addEntry(FlatHashTable.scala:153)
#14 152.7 	at scala.collection.mutable.FlatHashTable.addEntry$(FlatHashTable.scala:152)
#14 152.7 	at scala.collection.mutable.HashSet.addEntry(HashSet.scala:41)
#14 152.7 	at scala.collection.mutable.FlatHashTable.growTable(FlatHashTable.scala:230)
#14 152.7 	at scala.collection.mutable.FlatHashTable.addEntry(FlatHashTable.scala:164)
#14 152.7 	at scala.collection.mutable.FlatHashTable.addEntry$(FlatHashTable.scala:152)
#14 152.7 	at scala.collection.mutable.HashSet.addEntry(HashSet.scala:41)
#14 152.7 	at scala.collection.mutable.FlatHashTable.addElem(FlatHashTable.scala:144)
#14 152.7 	at scala.collection.mutable.FlatHashTable.addElem$(FlatHashTable.scala:143)
#14 152.7 	at scala.collection.mutable.HashSet.addElem(HashSet.scala:41)
#14 152.7 	at scala.collection.mutable.HashSet.add(HashSet.scala:66)
#14 152.8 [warn] In the last 10 seconds, 9.795 (98.3%) were spent in GC. [Heap: 0.19GB free of 1.00GB, max 1.00GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
#14 152.9 [error] java.util.concurrent.ExecutionException: Boxed Error
#14 152.9 [error] 	at scala.concurrent.impl.Promise$.resolver(Promise.scala:97)
#14 152.9 [error] 	at scala.concurrent.impl.Promise$.scala$concurrent$impl$Promise$$resolveTry(Promise.scala:89)
#14 152.9 [error] 	at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:294)
#14 152.9 [error] 	at scala.concurrent.Promise.tryFailure(Promise.scala:112)
#14 152.9 [error] 	at scala.concurrent.Promise.tryFailure$(Promise.scala:112)
#14 152.9 [error] 	at scala.concurrent.impl.Promise$DefaultPromise.tryFailure(Promise.scala:197)
#14 152.9 [error] 	at scala.scalanative.build.Build$.$anonfun$await$2(Build.scala:343)
#14 152.9 [error] 	at java.base/java.lang.Thread.dispatchUncaughtException(Thread.java:2902)
#14 152.9 [error] Caused by: java.lang.OutOfMemoryError: Java heap space
#14 152.9 [error] 	at scala.scalanative.nir.Inst$Let.productElement(Insts.scala:12)
#14 152.9 [error] 	at scala.util.hashing.MurmurHash3.productHash(MurmurHash3.scala:76)
#14 152.9 [error] 	at scala.util.hashing.MurmurHash3$.productHash(MurmurHash3.scala:246)
#14 152.9 [error] 	at scala.runtime.ScalaRunTime$._hashCode(ScalaRunTime.scala:167)
#14 152.9 [error] 	at scala.scalanative.nir.Inst$Let.hashCode(Insts.scala:12)
#14 152.9 [error] 	at scala.runtime.Statics.anyHash(Statics.java:122)
#14 152.9 [error] 	at scala.util.hashing.MurmurHash3$hasher$2.apply(MurmurHash3.scala:140)
#14 152.9 [error] 	at scala.util.hashing.MurmurHash3$hasher$2.apply(MurmurHash3.scala:136)
#14 152.9 [error] 	at scala.collection.Iterator.foreach(Iterator.scala:943)
#14 152.9 [error] 	at scala.collection.Iterator.foreach$(Iterator.scala:943)
#14 152.9 [error] 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
#14 152.9 [error] 	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
#14 152.9 [error] 	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
#14 152.9 [error] 	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
#14 152.9 [error] 	at scala.util.hashing.MurmurHash3.orderedHash(MurmurHash3.scala:145)
#14 152.9 [error] 	at scala.util.hashing.MurmurHash3$.seqHash(MurmurHash3.scala:257)
#14 152.9 [error] 	at scala.collection.IndexedSeqLike.hashCode(IndexedSeqLike.scala:44)
#14 152.9 [error] 	at scala.collection.IndexedSeqLike.hashCode$(IndexedSeqLike.scala:44)
#14 152.9 [error] 	at scala.collection.immutable.Vector.hashCode(Vector.scala:69)
#14 152.9 [error] 	at scala.runtime.Statics.anyHash(Statics.java:122)
#14 152.9 [error] 	at scala.scalanative.nir.ControlFlow$Block.hashCode(ControlFlow.scala:17)
#14 152.9 [error] 	at scala.collection.mutable.FlatHashTable.addEntry(FlatHashTable.scala:153)
#14 152.9 [error] 	at scala.collection.mutable.FlatHashTable.addEntry$(FlatHashTable.scala:152)
#14 152.9 [error] 	at scala.collection.mutable.HashSet.addEntry(HashSet.scala:41)
#14 152.9 [error] 	at scala.collection.mutable.FlatHashTable.growTable(FlatHashTable.scala:230)
#14 152.9 [error] 	at scala.collection.mutable.FlatHashTable.addEntry(FlatHashTable.scala:164)
#14 152.9 [error] 	at scala.collection.mutable.FlatHashTable.addEntry$(FlatHashTable.scala:152)
#14 152.9 [error] 	at scala.collection.mutable.HashSet.addEntry(HashSet.scala:41)
#14 152.9 [error] 	at scala.collection.mutable.FlatHashTable.addElem(FlatHashTable.scala:144)
#14 152.9 [error] 	at scala.collection.mutable.FlatHashTable.addElem$(FlatHashTable.scala:143)
#14 152.9 [error] 	at scala.collection.mutable.HashSet.addElem(HashSet.scala:41)
#14 152.9 [error] 	at scala.collection.mutable.HashSet.add(HashSet.scala:66)
#14 152.9 [error] (Compile / nativeLink) java.util.concurrent.ExecutionException: Boxed Error
#14 152.9 [error] Total time: 149 s (0:02:29.0), completed Nov 14, 2026, 7:10:11 PM
#14 ERROR: process "/bin/sh -c sbt -batch nativeLink" did not complete successfully: exit code: 1
------
 > [build 8/8] RUN sbt -batch nativeLink:
152.9 [error] 	at scala.collection.mutable.FlatHashTable.growTable(FlatHashTable.scala:230)
152.9 [error] 	at scala.collection.mutable.FlatHashTable.addEntry(FlatHashTable.scala:164)
152.9 [error] 	at scala.collection.mutable.FlatHashTable.addEntry$(FlatHashTable.scala:152)
152.9 [error] 	at scala.collection.mutable.HashSet.addEntry(HashSet.scala:41)
152.9 [error] 	at scala.collection.mutable.FlatHashTable.addElem(FlatHashTable.scala:144)
152.9 [error] 	at scala.collection.mutable.FlatHashTable.addElem$(FlatHashTable.scala:143)
152.9 [error] 	at scala.collection.mutable.HashSet.addElem(HashSet.scala:41)
152.9 [error] 	at scala.collection.mutable.HashSet.add(HashSet.scala:66)
152.9 [error] (Compile / nativeLink) java.util.concurrent.ExecutionException: Boxed Error
152.9 [error] Total time: 149 s (0:02:29.0), completed Nov 14, 2026, 7:10:11 PM
------
Dockerfile:8
--------------------
   6 |     RUN sbt update
   7 |     COPY src ./src
   8 | >>> RUN sbt -batch nativeLink
   9 |     
  10 |     FROM alpine:3.23
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c sbt -batch nativeLink" did not complete successfully: exit code: 1
[FAIL] docker build failed
[info] restoring loopback MTU to 65536

@sake92

sake92 commented Nov 14, 2026

Copy link
Copy Markdown
Author

/benchmark -f sharaf-potateh

@github-actions

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: sharaf-potateh | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 4096 337,797 2411.6% 821MiB ~0% ~0%
pipelined 4096 510,313 1427.4% 1.1GiB ~0% ~0%
limited-conn 4096 168,623 188.3% 224MiB ~0% ~0%

Composite score, main against this run, in the board's default view:

Family main this run Δ
HTTP/1.1 - 141.7 (33 of 33) -

The results on main were measured in another session, so a few points up or down can be the machine and not the change.

Full log

=== Best: 337797 req/s (CPU: 2411.6%, Mem: 821MiB) ===
[info] input BW: 26.09MB/s (avg template: 81 bytes)
[info] saved results/baseline/4096/sharaf-potateh.json
httparena-bench-sharaf-potateh
httparena-bench-sharaf-potateh

==============================================
=== sharaf-potateh / pipelined / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   16.42ms   7.80ms   31.10ms   63.90ms    1.72s

  2464462 requests in 5.00s, 2415453 responses
  Throughput: 482.93K req/s
  Bandwidth:  54.35MB/s
  Status codes: 2xx=2415453, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2415435 / 2415453 responses (100.0%)
[info] CPU 1441.3% | Mem 896MiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/pipeline
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   24.44ms   15.80ms   52.00ms   97.80ms    1.45s

  2590802 requests in 5.00s, 2551569 responses
  Throughput: 510.14K req/s
  Bandwidth:  57.41MB/s
  Status codes: 2xx=2551569, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2551546 / 2551569 responses (100.0%)
[info] CPU 1427.4% | Mem 1.1GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/pipeline
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   31.81ms   19.90ms   75.30ms   139.40ms    1.66s

  2516266 requests in 5.00s, 2466842 responses
  Throughput: 493.19K req/s
  Bandwidth:  55.50MB/s
  Status codes: 2xx=2466842, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2466842 / 2466842 responses (100.0%)
[info] CPU 1370.2% | Mem 1.6GiB

=== Best: 510313 req/s (CPU: 1427.4%, Mem: 1.1GiB) ===
[info] saved results/pipelined/4096/sharaf-potateh.json
httparena-bench-sharaf-potateh
httparena-bench-sharaf-potateh

==============================================
=== sharaf-potateh / limited-conn / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    893us     86us   2.13ms   5.81ms   11.50ms

  845560 requests in 5.00s, 843119 responses
  Throughput: 168.56K req/s
  Bandwidth:  18.97MB/s
  Status codes: 2xx=843119, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 843118 / 843119 responses (100.0%)
  Reconnects: 1617586
  Errors: connect 1530707, read 0, timeout 0
  Per-template: 280944,280975,281199
  Per-template-ok: 280944,280975,281199
[info] CPU 188.3% | Mem 224MiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency      0us      0us      0us      0us      0us

  0 requests in 5.00s, 0 responses
  Throughput: 0 req/s
  Bandwidth:  0B/s
  Status codes: 2xx=0, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 0 / 0 responses (0.0%)
  Reconnects: 5266080
  Errors: connect 5266077, read 0, timeout 0
  Per-template: 0,0,0
  Per-template-ok: 0,0,0
[info] CPU 0.0% | Mem 0MiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency      0us      0us      0us      0us      0us

  0 requests in 5.00s, 0 responses
  Throughput: 0 req/s
  Bandwidth:  0B/s
  Status codes: 2xx=0, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 0 / 0 responses (0.0%)
  Reconnects: 4870234
  Errors: connect 4870233, read 0, timeout 0
  Per-template: 0,0,0
  Per-template-ok: 0,0,0
[info] CPU 0.0% | Mem 0MiB

=== Best: 168623 req/s (CPU: 188.3%, Mem: 224MiB) ===
[info] input BW: 13.03MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/4096/sharaf-potateh.json
httparena-bench-sharaf-potateh
httparena-bench-sharaf-potateh
[info] skip: sharaf-potateh does not subscribe to json-comp
[info] skip: sharaf-potateh does not subscribe to json-tls
[info] skip: sharaf-potateh does not subscribe to 8gbit
[info] skip: sharaf-potateh does not subscribe to static-tls
[info] skip: sharaf-potateh does not subscribe to async-db
[info] skip: sharaf-potateh does not subscribe to fortunes
[info] skip: sharaf-potateh does not subscribe to baseline-h2
[info] skip: sharaf-potateh does not subscribe to static-h2
[info] skip: sharaf-potateh does not subscribe to baseline-h2c
[info] skip: sharaf-potateh does not subscribe to json-h2c
[info] skip: sharaf-potateh does not subscribe to baseline-h3
[info] skip: sharaf-potateh does not subscribe to static-h3
[info] skip: sharaf-potateh does not subscribe to gateway-64
[info] skip: sharaf-potateh does not subscribe to gateway-h3
[info] skip: sharaf-potateh does not subscribe to production-stack
[info] skip: sharaf-potateh does not subscribe to unary-grpc
[info] skip: sharaf-potateh does not subscribe to unary-grpc-tls
[info] skip: sharaf-potateh does not subscribe to echo-ws
[info] skip: sharaf-potateh does not subscribe to echo-ws-pipeline
[info] skip: sharaf-potateh does not subscribe to echo-ws-limited
[info] skip: sharaf-potateh does not subscribe to latency-1m
[info] skip: sharaf-potateh does not subscribe to latency-10k
[info] skip: sharaf-potateh does not subscribe to latency-500k-8cpu
[info] skip: sharaf-potateh does not subscribe to async
[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/sharaf-potateh.json - 3 new, 3 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

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.

1 participant