Skip to content

Commit bd461ae

Browse files
committed
init
1 parent abde01f commit bd461ae

File tree

8 files changed

+734
-0
lines changed

8 files changed

+734
-0
lines changed

bench.mjs

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
// --------------------SERVER--------------------
2+
// -> /server/simple.mjs
3+
// ----------------------------------------------
4+
5+
import { WebSocket as WsWebSocket } from 'ws'
6+
import { WebSocket as UndiciWebSocket } from './index.js'
7+
import { bench, run, group } from 'mitata'
8+
9+
const __GLOBAL_WEBSOCKET__ = true
10+
11+
const binary = new Uint8Array(0)
12+
13+
const url = 'http://localhost:5001'
14+
15+
const connections = []
16+
17+
group('send', () => {
18+
{
19+
const ws = new WsWebSocket(url)
20+
let _resolve
21+
ws.addEventListener('message', () => {
22+
_resolve()
23+
})
24+
bench('ws', () => {
25+
return new Promise((resolve, reject) => {
26+
ws.send(binary)
27+
_resolve = resolve
28+
})
29+
})
30+
connections.push(ws)
31+
}
32+
{
33+
const ws = new UndiciWebSocket(url)
34+
let _resolve
35+
ws.addEventListener('message', () => {
36+
_resolve()
37+
})
38+
bench('undici', () => {
39+
return new Promise((resolve, reject) => {
40+
ws.send(binary)
41+
_resolve = resolve
42+
})
43+
})
44+
connections.push(ws)
45+
}
46+
if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
47+
const ws = new globalThis.WebSocket(url)
48+
let _resolve
49+
ws.addEventListener('message', () => {
50+
_resolve()
51+
})
52+
bench('undici - global', () => {
53+
return new Promise((resolve, reject) => {
54+
ws.send(binary)
55+
_resolve = resolve
56+
})
57+
})
58+
connections.push(ws)
59+
}
60+
})
61+
62+
for (const ws of connections) {
63+
// for fairness
64+
ws.binaryType = 'arraybuffer'
65+
await new Promise((resolve, reject) => {
66+
ws.addEventListener('open', () => {
67+
resolve()
68+
})
69+
ws.addEventListener('error', (err) => {
70+
reject(err)
71+
})
72+
})
73+
}
74+
75+
await run()
76+
77+
for (const ws of connections) {
78+
ws.close()
79+
}

0 commit comments

Comments
 (0)