Skip to content

Commit 3fa6fa7

Browse files
chore: Update benchmark results, graph, and README
1 parent 6ffad48 commit 3fa6fa7

5 files changed

Lines changed: 53 additions & 18 deletions

File tree

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ Go WebSocket Library Comparison
1313
**Latest Benchmark Results:**
1414

1515
<!-- BENCHMARK_TABLE_START -->
16-
**Last Updated:** Wed, 08 Jul 2026 05:38:30 UTC
16+
**Last Updated:** Fri, 10 Jul 2026 06:27:55 UTC
1717

1818
| Library | Version | Throughput (MB/s) | Avg Latency (ms) |
1919
| ----------------------------------------------- | --------------- | ----------------- | ---------------- |
20-
| [coder/websocket](https://github.com/coder/websocket) | v1.8.15 | 243.32 | 31.81 |
21-
| [gobwas/ws](https://github.com/gobwas/ws) | v1.4.0 | 268.78 | 28.79 |
22-
| [gorilla/websocket](https://github.com/gorilla/websocket) | v1.5.3 | 487.90 | 15.84 |
23-
| [lesismal/nbio](https://github.com/lesismal/nbio) | v1.6.11 | 324.87 | 23.79 |
24-
| [lxzan/gws](https://github.com/lxzan/gws) | v1.9.1 | 551.02 | 14.07 |
20+
| [coder/websocket](https://github.com/coder/websocket) | v1.8.15 | 257.63 | 30.02 |
21+
| [gobwas/ws](https://github.com/gobwas/ws) | v1.4.0 | 284.70 | 27.19 |
22+
| [gorilla/websocket](https://github.com/gorilla/websocket) | v1.5.3 | 519.06 | 14.90 |
23+
| [lesismal/nbio](https://github.com/lesismal/nbio) | v1.6.11 | 345.06 | 22.43 |
24+
| [lxzan/gws](https://github.com/lxzan/gws) | v1.9.1 | 598.96 | 12.97 |
2525
<!-- BENCHMARK_TABLE_END -->
2626

2727
**Performance Over Time: Throughput (MB/s):**

benchmark/benchmark_history.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15293,5 +15293,40 @@
1529315293
"LatencyMs": 31.807999922941825,
1529415294
"Timestamp": "2026-07-08T05:37:29.958516734Z",
1529515295
"Version": "v1.8.15"
15296+
},
15297+
{
15298+
"LibraryName": "gorilla/websocket",
15299+
"ThroughputMBps": 519.06015625,
15300+
"LatencyMs": 14.899654875022012,
15301+
"Timestamp": "2026-07-10T06:26:57.154190013Z",
15302+
"Version": "v1.5.3"
15303+
},
15304+
{
15305+
"LibraryName": "lxzan/gws",
15306+
"ThroughputMBps": 598.96015625,
15307+
"LatencyMs": 12.966840970484004,
15308+
"Timestamp": "2026-07-10T06:26:57.154190013Z",
15309+
"Version": "v1.9.1"
15310+
},
15311+
{
15312+
"LibraryName": "gobwas/ws",
15313+
"ThroughputMBps": 284.7015625,
15314+
"LatencyMs": 27.185569867569658,
15315+
"Timestamp": "2026-07-10T06:26:57.154190013Z",
15316+
"Version": "v1.4.0"
15317+
},
15318+
{
15319+
"LibraryName": "lesismal/nbio",
15320+
"ThroughputMBps": 345.05625,
15321+
"LatencyMs": 22.4320559147965,
15322+
"Timestamp": "2026-07-10T06:26:57.154190013Z",
15323+
"Version": "v1.6.11"
15324+
},
15325+
{
15326+
"LibraryName": "coder/websocket",
15327+
"ThroughputMBps": 257.63203125,
15328+
"LatencyMs": 30.015356203888178,
15329+
"Timestamp": "2026-07-10T06:26:57.154190013Z",
15330+
"Version": "v1.8.15"
1529615331
}
1529715332
]

benchmark_performance.png

-509 Bytes
Loading

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ require (
2222
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
2323
github.com/klauspost/compress v1.19.0 // indirect
2424
github.com/lesismal/llib v1.2.3 // indirect
25-
golang.org/x/crypto v0.53.0 // indirect
26-
golang.org/x/image v0.43.0 // indirect
27-
golang.org/x/sys v0.46.0 // indirect
28-
golang.org/x/text v0.39.0 // indirect
25+
golang.org/x/crypto v0.54.0 // indirect
26+
golang.org/x/image v0.44.0 // indirect
27+
golang.org/x/sys v0.47.0 // indirect
28+
golang.org/x/text v0.40.0 // indirect
2929
)

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
4949
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
5050
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
5151
golang.org/x/crypto v0.0.0-20210513122933-cd7d49e622d5/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
52-
golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto=
53-
golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio=
54-
golang.org/x/image v0.43.0 h1:FLxcP4ec2350nTfOC8ysKtqYSIFbk/QGjw1ZHNP4tsY=
55-
golang.org/x/image v0.43.0/go.mod h1:rrpelvGFt+kLPAjPM4HeWPgrl0FtafueU//e5N0qk/Q=
52+
golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw=
53+
golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk=
54+
golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I=
55+
golang.org/x/image v0.44.0/go.mod h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY=
5656
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
5757
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
5858
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -68,14 +68,14 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
6868
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
6969
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
7070
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
71-
golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw=
72-
golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
71+
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
72+
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
7373
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
7474
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
7575
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
7676
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
77-
golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus=
78-
golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM=
77+
golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs=
78+
golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY=
7979
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
8080
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
8181
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=

0 commit comments

Comments
 (0)