Skip to content

Commit 9e2182b

Browse files
update results rust-epoll may-minihttp
1 parent 40a4b16 commit 9e2182b

26 files changed

Lines changed: 331 additions & 1 deletion

site/data/baseline-16384.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,26 @@
839839
"status_4xx": 0,
840840
"status_5xx": 0
841841
},
842+
{
843+
"framework": "may-minihttp",
844+
"language": "Rust",
845+
"rps": 2848257,
846+
"avg_latency": "3.31ms",
847+
"p99_latency": "9.37ms",
848+
"cpu": "6082.6%",
849+
"memory": "355.5MiB",
850+
"connections": 16384,
851+
"threads": 64,
852+
"duration": "5s",
853+
"pipeline": 1,
854+
"bandwidth": "179.18MB/s",
855+
"input_bw": "220.02MB/s",
856+
"reconnects": 0,
857+
"status_2xx": 14241288,
858+
"status_3xx": 0,
859+
"status_4xx": 0,
860+
"status_5xx": 0
861+
},
842862
{
843863
"framework": "ngx-php",
844864
"language": "PHP",
@@ -939,6 +959,26 @@
939959
"status_4xx": 0,
940960
"status_5xx": 0
941961
},
962+
{
963+
"framework": "rust-epoll",
964+
"language": "Rust",
965+
"rps": 3258640,
966+
"avg_latency": "4.90ms",
967+
"p99_latency": "10.00ms",
968+
"cpu": "5938.6%",
969+
"memory": "312.9MiB",
970+
"connections": 16384,
971+
"threads": 64,
972+
"duration": "5s",
973+
"pipeline": 1,
974+
"bandwidth": "267.14MB/s",
975+
"input_bw": "251.72MB/s",
976+
"reconnects": 0,
977+
"status_2xx": 16293201,
978+
"status_3xx": 0,
979+
"status_4xx": 0,
980+
"status_5xx": 0
981+
},
942982
{
943983
"framework": "Sinatra",
944984
"language": "Ruby",

site/data/baseline-4096.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,26 @@
839839
"status_4xx": 0,
840840
"status_5xx": 0
841841
},
842+
{
843+
"framework": "may-minihttp",
844+
"language": "Rust",
845+
"rps": 3001926,
846+
"avg_latency": "1.20ms",
847+
"p99_latency": "4.53ms",
848+
"cpu": "6289.2%",
849+
"memory": "187.2MiB",
850+
"connections": 4096,
851+
"threads": 64,
852+
"duration": "5s",
853+
"pipeline": 1,
854+
"bandwidth": "188.85MB/s",
855+
"input_bw": "231.89MB/s",
856+
"reconnects": 0,
857+
"status_2xx": 15009632,
858+
"status_3xx": 0,
859+
"status_4xx": 0,
860+
"status_5xx": 0
861+
},
842862
{
843863
"framework": "ngx-php",
844864
"language": "PHP",
@@ -939,6 +959,26 @@
939959
"status_4xx": 0,
940960
"status_5xx": 0
941961
},
962+
{
963+
"framework": "rust-epoll",
964+
"language": "Rust",
965+
"rps": 3505985,
966+
"avg_latency": "1.17ms",
967+
"p99_latency": "2.48ms",
968+
"cpu": "6186.4%",
969+
"memory": "118.8MiB",
970+
"connections": 4096,
971+
"threads": 64,
972+
"duration": "5s",
973+
"pipeline": 1,
974+
"bandwidth": "287.44MB/s",
975+
"input_bw": "270.83MB/s",
976+
"reconnects": 0,
977+
"status_2xx": 17529925,
978+
"status_3xx": 0,
979+
"status_4xx": 0,
980+
"status_5xx": 0
981+
},
942982
{
943983
"framework": "Sinatra",
944984
"language": "Ruby",

site/data/baseline-512.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,26 @@
839839
"status_4xx": 0,
840840
"status_5xx": 0
841841
},
842+
{
843+
"framework": "may-minihttp",
844+
"language": "Rust",
845+
"rps": 2892251,
846+
"avg_latency": "176us",
847+
"p99_latency": "527us",
848+
"cpu": "6210.7%",
849+
"memory": "113.2MiB",
850+
"connections": 512,
851+
"threads": 64,
852+
"duration": "5s",
853+
"pipeline": 1,
854+
"bandwidth": "181.99MB/s",
855+
"input_bw": "223.42MB/s",
856+
"reconnects": 0,
857+
"status_2xx": 14461255,
858+
"status_3xx": 0,
859+
"status_4xx": 0,
860+
"status_5xx": 0
861+
},
842862
{
843863
"framework": "ngx-php",
844864
"language": "PHP",
@@ -939,6 +959,26 @@
939959
"status_4xx": 0,
940960
"status_5xx": 0
941961
},
962+
{
963+
"framework": "rust-epoll",
964+
"language": "Rust",
965+
"rps": 3100381,
966+
"avg_latency": "164us",
967+
"p99_latency": "840us",
968+
"cpu": "5414.7%",
969+
"memory": "49.8MiB",
970+
"connections": 512,
971+
"threads": 64,
972+
"duration": "5s",
973+
"pipeline": 1,
974+
"bandwidth": "254.19MB/s",
975+
"input_bw": "239.50MB/s",
976+
"reconnects": 0,
977+
"status_2xx": 15501906,
978+
"status_3xx": 0,
979+
"status_4xx": 0,
980+
"status_5xx": 0
981+
},
942982
{
943983
"framework": "Sinatra",
944984
"language": "Ruby",

site/data/current.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"os": "Ubuntu 24.04.4 LTS",
88
"kernel": "6.17.0-19-generic",
99
"docker": "29.3.0",
10-
"commit": "8e70486",
10+
"commit": "40a4b16",
1111
"governor": "performance",
1212
"docker_runtime": "runc",
1313
"threads_per_core": "2",

site/data/frameworks.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"Koa": {"description": "Expressive middleware framework for Node.js by the Express team, using async/await.", "repo": "https://github.com/koajs/koa", "type": "framework", "engine": "V8"},
4040
"ktor": {"description": "JetBrains Ktor 3.x on Netty with Kotlin coroutines, kotlinx.serialization, JDK 21.", "repo": "https://github.com/ktorio/ktor", "type": "framework", "engine": "Netty"},
4141
"lithium": {"description": "Lithium C++ HTTP framework with compile-time reflection, boost::context coroutines, and -O3 -march=native -flto.", "repo": "https://github.com/matt-42/lithium", "type": "framework", "engine": "li/http"},
42+
"may-minihttp": {"description": "Mini HTTP server built on May stackful coroutines. Uses cooperative scheduling with coroutine-per-connection model for high concurrency.", "repo": "https://github.com/Xudong-Huang/may_minihttp", "type": "engine", "engine": "may-minihttp"},
4243
"nginx": {"description": "Nginx with a custom C handler module, compiled with -O3 -march=native.", "repo": "https://github.com/nginx/nginx", "type": "engine", "engine": "nginx"},
4344
"nginx-openresty": {"description": "OpenResty (Nginx + LuaJIT) with Lua content handlers for all benchmark endpoints.", "repo": "https://github.com/openresty/openresty", "type": "framework", "engine": "openresty"},
4445
"ngx-php": {"description": "Embedded PHP scripting language module for nginx.", "repo": "https://github.com/rryqszq4/ngx-php", "type": "framework", "engine": "nginx"},
@@ -53,6 +54,7 @@
5354
"Rails": {"description": "Ruby on Rails (API mode) on Puma, multi-worker with one worker per CPU core.", "repo": "https://github.com/rails/rails", "type": "framework", "engine": "puma"},
5455
"ringzero": {"description": "Custom C HTTP server built on io_uring with a multi-reactor architecture. No epoll, no thread-per-connection.", "repo": "https://github.com/MDA2AV/ringzero", "type": "engine", "engine": "io_uring"},
5556
"rocket": {"description": "Rocket 0.5 on Tokio with Rustls for HTTP/2, compiled with -O3 and thin LTO.", "repo": "https://github.com/SergioBenitez/Rocket", "type": "framework", "engine": "rocket"},
57+
"rust-epoll": {"description": "Zero-dependency Rust HTTP engine using raw epoll syscalls, one-thread-per-core with SO_REUSEPORT.", "repo": "", "type": "engine", "engine": "epoll"},
5658
"salvo": {"description": "Salvo web framework with Quinn HTTP/3 support on Tokio runtime, compiled with -O3 and thin LTO.", "repo": "https://github.com/salvo-rs/salvo", "type": "framework", "engine": "Salvo"},
5759
"Sinatra": {"description": "Sinatra DSL web framework on Puma, multi-threaded with one worker per CPU core.", "repo": "https://github.com/sinatra/sinatra", "type": "framework", "engine": "puma"},
5860
"spring-jvm": {"description": "Spring Boot with embedded Tomcat on JDK 21 (HotSpot JVM with ZGC).", "repo": "https://github.com/spring-projects/spring-boot", "type": "framework", "engine": "Tomcat"},

site/data/limited-conn-4096.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,26 @@
824824
"status_4xx": 0,
825825
"status_5xx": 0
826826
},
827+
{
828+
"framework": "may-minihttp",
829+
"language": "Rust",
830+
"rps": 738678,
831+
"avg_latency": "1.62ms",
832+
"p99_latency": "14.10ms",
833+
"cpu": "2499.9%",
834+
"memory": "127.8MiB",
835+
"connections": 4096,
836+
"threads": 64,
837+
"duration": "5s",
838+
"pipeline": 1,
839+
"bandwidth": "46.48MB/s",
840+
"input_bw": "57.06MB/s",
841+
"reconnects": 369337,
842+
"status_2xx": 3693391,
843+
"status_3xx": 0,
844+
"status_4xx": 0,
845+
"status_5xx": 0
846+
},
827847
{
828848
"framework": "ngx-php",
829849
"language": "PHP",
@@ -924,6 +944,26 @@
924944
"status_4xx": 0,
925945
"status_5xx": 0
926946
},
947+
{
948+
"framework": "rust-epoll",
949+
"language": "Rust",
950+
"rps": 2052003,
951+
"avg_latency": "1.84ms",
952+
"p99_latency": "5.85ms",
953+
"cpu": "5253.2%",
954+
"memory": "187.6MiB",
955+
"connections": 4096,
956+
"threads": 64,
957+
"duration": "5s",
958+
"pipeline": 1,
959+
"bandwidth": "168.23MB/s",
960+
"input_bw": "158.51MB/s",
961+
"reconnects": 1024296,
962+
"status_2xx": 10260016,
963+
"status_3xx": 0,
964+
"status_4xx": 0,
965+
"status_5xx": 0
966+
},
927967
{
928968
"framework": "Sinatra",
929969
"language": "Ruby",

site/data/limited-conn-512.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,26 @@
824824
"status_4xx": 0,
825825
"status_5xx": 0
826826
},
827+
{
828+
"framework": "may-minihttp",
829+
"language": "Rust",
830+
"rps": 746510,
831+
"avg_latency": "676us",
832+
"p99_latency": "6.50ms",
833+
"cpu": "2531.5%",
834+
"memory": "126.3MiB",
835+
"connections": 512,
836+
"threads": 64,
837+
"duration": "5s",
838+
"pipeline": 1,
839+
"bandwidth": "46.97MB/s",
840+
"input_bw": "57.67MB/s",
841+
"reconnects": 373255,
842+
"status_2xx": 3732552,
843+
"status_3xx": 0,
844+
"status_4xx": 0,
845+
"status_5xx": 0
846+
},
827847
{
828848
"framework": "ngx-php",
829849
"language": "PHP",
@@ -924,6 +944,26 @@
924944
"status_4xx": 0,
925945
"status_5xx": 0
926946
},
947+
{
948+
"framework": "rust-epoll",
949+
"language": "Rust",
950+
"rps": 1853013,
951+
"avg_latency": "257us",
952+
"p99_latency": "2.25ms",
953+
"cpu": "5226.5%",
954+
"memory": "118.9MiB",
955+
"connections": 512,
956+
"threads": 64,
957+
"duration": "5s",
958+
"pipeline": 1,
959+
"bandwidth": "151.93MB/s",
960+
"input_bw": "143.14MB/s",
961+
"reconnects": 926505,
962+
"status_2xx": 9265069,
963+
"status_3xx": 0,
964+
"status_4xx": 0,
965+
"status_5xx": 0
966+
},
927967
{
928968
"framework": "Sinatra",
929969
"language": "Ruby",

site/data/pipelined-16384.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,26 @@
826826
"status_4xx": 0,
827827
"status_5xx": 0
828828
},
829+
{
830+
"framework": "may-minihttp",
831+
"language": "Rust",
832+
"rps": 13118094,
833+
"avg_latency": "12.65ms",
834+
"p99_latency": "24.70ms",
835+
"cpu": "4010.9%",
836+
"memory": "395.3MiB",
837+
"connections": 16384,
838+
"threads": 64,
839+
"duration": "5s",
840+
"pipeline": 16,
841+
"bandwidth": "825.23MB/s",
842+
"input_bw": "",
843+
"reconnects": 0,
844+
"status_2xx": 65590474,
845+
"status_3xx": 0,
846+
"status_4xx": 0,
847+
"status_5xx": 0
848+
},
829849
{
830850
"framework": "ngx-php",
831851
"language": "PHP",
@@ -926,6 +946,26 @@
926946
"status_4xx": 0,
927947
"status_5xx": 0
928948
},
949+
{
950+
"framework": "rust-epoll",
951+
"language": "Rust",
952+
"rps": 40355555,
953+
"avg_latency": "6.26ms",
954+
"p99_latency": "15.70ms",
955+
"cpu": "5965.4%",
956+
"memory": "343.3MiB",
957+
"connections": 16384,
958+
"threads": 64,
959+
"duration": "5s",
960+
"pipeline": 16,
961+
"bandwidth": "3.23GB/s",
962+
"input_bw": "",
963+
"reconnects": 0,
964+
"status_2xx": 201777776,
965+
"status_3xx": 0,
966+
"status_4xx": 0,
967+
"status_5xx": 0
968+
},
929969
{
930970
"framework": "Sinatra",
931971
"language": "Ruby",

0 commit comments

Comments
 (0)