Skip to content

Commit 23f8e7a

Browse files
committed
update
1 parent 2016d03 commit 23f8e7a

1 file changed

Lines changed: 30 additions & 32 deletions

File tree

benchmarks/websocket-benchmark.mjs

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
import { bench } from './_util/runner.js'
44
import { formatBytes } from './_util/index.js'
5-
import * as undici from '../index.js'
5+
import { WebSocket, WebSocketStream } from '../index.js'
66
import { WebSocket as WsWebSocket } from 'ws'
77

8-
const { WebSocket } = undici
9-
108
/**
119
* @type {Record<string, { fn: (ws: any, binary: string | Uint8Array) => import('./_util/runner.js').BenchMarkHandler; connect: (url: string) => Promise<any>; binaries: (string | Uint8Array)[] }>}
1210
*/
@@ -74,35 +72,35 @@ experiments['undici'] = {
7472
}
7573

7674
// https://github.com/nodejs/undici/pull/3560
77-
// if (typeof WebSocketStream === 'function') {
78-
// experiments['undici - stream'] = {
79-
// fn: (ws, binary) => {
80-
// /** @type {ReadableStreamDefaultReader<string | Uint8Array>} */
81-
// const reader = ws.reader
82-
// /** @type {WritableStreamDefaultWriter<string | BufferSource>} */
83-
// const writer = ws.writer
84-
85-
// return async (ev) => {
86-
// ev.start()
87-
// await writer.write(binary)
88-
// await reader.read()
89-
// ev.end()
90-
// }
91-
// },
92-
93-
// connect: async (url) => {
94-
// const ws = new WebSocketStream(url)
95-
96-
// const { readable, writable } = await ws.opened
97-
// const reader = readable.getReader()
98-
// const writer = writable.getWriter()
99-
100-
// return { reader, writer, close: () => ws.close() }
101-
// },
102-
103-
// binaries
104-
// }
105-
// }
75+
if (typeof WebSocketStream === 'function') {
76+
experiments['undici - stream'] = {
77+
fn: (ws, binary) => {
78+
/** @type {ReadableStreamDefaultReader<string | Uint8Array>} */
79+
const reader = ws.reader
80+
/** @type {WritableStreamDefaultWriter<string | BufferSource>} */
81+
const writer = ws.writer
82+
83+
return async (ev) => {
84+
ev.start()
85+
await writer.write(binary)
86+
await reader.read()
87+
ev.end()
88+
}
89+
},
90+
91+
connect: async (url) => {
92+
const ws = new WebSocketStream(url)
93+
94+
const { readable, writable } = await ws.opened
95+
const reader = readable.getReader()
96+
const writer = writable.getWriter()
97+
98+
return { reader, writer, close: () => ws.close() }
99+
},
100+
101+
binaries
102+
}
103+
}
106104

107105
experiments['ws'] = {
108106
fn: (ws, binary) => {

0 commit comments

Comments
 (0)