├── .gitignore ├── README.md ├── config └── config.go ├── frameworks ├── fasthttp │ └── server.go ├── flag_ignore.go ├── gobwas │ └── server.go ├── gorilla │ └── server.go ├── greatws │ └── greatws.go ├── greatws_event │ └── greatws_event.go ├── gws │ └── server.go ├── gws_std │ └── server.go ├── handlers.go ├── hertz │ └── server.go ├── hertz_std │ └── server.go ├── listen.go ├── nbio_blocking │ └── server.go ├── nbio_mixed │ └── server.go ├── nbio_nonblocking │ └── server.go ├── nbio_std │ └── server.go ├── nettyws │ └── server.go ├── nhooyr │ └── server.go ├── nodelay.go └── quickws │ └── quickws.go ├── go.mod ├── go.sum ├── logging └── logging.go ├── mwsbench ├── benchecho │ └── benchecho.go ├── benchrate │ └── benchrate.go ├── client.go ├── connections │ └── connection.go ├── protocol │ └── websocket.go └── report │ ├── benchecho_report.go │ ├── benchrate_report.go │ ├── connections_report.go │ ├── parsing.go │ └── reporter.go └── script ├── 1m_conns_benchmark.sh ├── benchmark.sh ├── benchmarkN.sh ├── build.sh ├── clean.sh ├── client.sh ├── clients.sh ├── config.sh ├── env.sh ├── killall.sh ├── killall9.sh ├── killone.sh ├── report.sh ├── server.sh └── servers.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vscode/ 3 | output/ 4 | bin/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/README.md -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/config/config.go -------------------------------------------------------------------------------- /frameworks/fasthttp/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/fasthttp/server.go -------------------------------------------------------------------------------- /frameworks/flag_ignore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/flag_ignore.go -------------------------------------------------------------------------------- /frameworks/gobwas/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/gobwas/server.go -------------------------------------------------------------------------------- /frameworks/gorilla/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/gorilla/server.go -------------------------------------------------------------------------------- /frameworks/greatws/greatws.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/greatws/greatws.go -------------------------------------------------------------------------------- /frameworks/greatws_event/greatws_event.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/greatws_event/greatws_event.go -------------------------------------------------------------------------------- /frameworks/gws/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/gws/server.go -------------------------------------------------------------------------------- /frameworks/gws_std/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/gws_std/server.go -------------------------------------------------------------------------------- /frameworks/handlers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/handlers.go -------------------------------------------------------------------------------- /frameworks/hertz/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/hertz/server.go -------------------------------------------------------------------------------- /frameworks/hertz_std/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/hertz_std/server.go -------------------------------------------------------------------------------- /frameworks/listen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/listen.go -------------------------------------------------------------------------------- /frameworks/nbio_blocking/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/nbio_blocking/server.go -------------------------------------------------------------------------------- /frameworks/nbio_mixed/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/nbio_mixed/server.go -------------------------------------------------------------------------------- /frameworks/nbio_nonblocking/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/nbio_nonblocking/server.go -------------------------------------------------------------------------------- /frameworks/nbio_std/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/nbio_std/server.go -------------------------------------------------------------------------------- /frameworks/nettyws/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/nettyws/server.go -------------------------------------------------------------------------------- /frameworks/nhooyr/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/nhooyr/server.go -------------------------------------------------------------------------------- /frameworks/nodelay.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/nodelay.go -------------------------------------------------------------------------------- /frameworks/quickws/quickws.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/frameworks/quickws/quickws.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/go.sum -------------------------------------------------------------------------------- /logging/logging.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/logging/logging.go -------------------------------------------------------------------------------- /mwsbench/benchecho/benchecho.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/benchecho/benchecho.go -------------------------------------------------------------------------------- /mwsbench/benchrate/benchrate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/benchrate/benchrate.go -------------------------------------------------------------------------------- /mwsbench/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/client.go -------------------------------------------------------------------------------- /mwsbench/connections/connection.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/connections/connection.go -------------------------------------------------------------------------------- /mwsbench/protocol/websocket.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/protocol/websocket.go -------------------------------------------------------------------------------- /mwsbench/report/benchecho_report.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/report/benchecho_report.go -------------------------------------------------------------------------------- /mwsbench/report/benchrate_report.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/report/benchrate_report.go -------------------------------------------------------------------------------- /mwsbench/report/connections_report.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/report/connections_report.go -------------------------------------------------------------------------------- /mwsbench/report/parsing.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/report/parsing.go -------------------------------------------------------------------------------- /mwsbench/report/reporter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/mwsbench/report/reporter.go -------------------------------------------------------------------------------- /script/1m_conns_benchmark.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/1m_conns_benchmark.sh -------------------------------------------------------------------------------- /script/benchmark.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/benchmark.sh -------------------------------------------------------------------------------- /script/benchmarkN.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/benchmarkN.sh -------------------------------------------------------------------------------- /script/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/build.sh -------------------------------------------------------------------------------- /script/clean.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/clean.sh -------------------------------------------------------------------------------- /script/client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/client.sh -------------------------------------------------------------------------------- /script/clients.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/clients.sh -------------------------------------------------------------------------------- /script/config.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/config.sh -------------------------------------------------------------------------------- /script/env.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/env.sh -------------------------------------------------------------------------------- /script/killall.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/killall.sh -------------------------------------------------------------------------------- /script/killall9.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/killall9.sh -------------------------------------------------------------------------------- /script/killone.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/killone.sh -------------------------------------------------------------------------------- /script/report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/report.sh -------------------------------------------------------------------------------- /script/server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/server.sh -------------------------------------------------------------------------------- /script/servers.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lesismal/go-websocket-benchmark/HEAD/script/servers.sh --------------------------------------------------------------------------------