Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
tsctx committed Aug 20, 2024
1 parent c1654af commit 0e0852f
Show file tree
Hide file tree
Showing 8 changed files with 734 additions and 0 deletions.
79 changes: 79 additions & 0 deletions bench.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// --------------------SERVER--------------------
// -> /server/simple.mjs
// ----------------------------------------------

import { WebSocket as WsWebSocket } from 'ws'
import { WebSocket as UndiciWebSocket } from './index.js'
import { bench, run, group } from 'mitata'

const __GLOBAL_WEBSOCKET__ = true

const binary = new Uint8Array(0)

const url = 'http://localhost:5001'

const connections = []

group('send', () => {
{
const ws = new WsWebSocket(url)
let _resolve
ws.addEventListener('message', () => {
_resolve()
})
bench('ws', () => {
return new Promise((resolve, reject) => {
ws.send(binary)
_resolve = resolve
})
})
connections.push(ws)
}
{
const ws = new UndiciWebSocket(url)
let _resolve
ws.addEventListener('message', () => {
_resolve()
})
bench('undici', () => {
return new Promise((resolve, reject) => {
ws.send(binary)
_resolve = resolve
})
})
connections.push(ws)
}
if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
const ws = new globalThis.WebSocket(url)
let _resolve
ws.addEventListener('message', () => {
_resolve()
})
bench('undici - global', () => {
return new Promise((resolve, reject) => {
ws.send(binary)
_resolve = resolve
})
})
connections.push(ws)
}
})

for (const ws of connections) {
// for fairness
ws.binaryType = 'arraybuffer'
await new Promise((resolve, reject) => {
ws.addEventListener('open', () => {
resolve()
})
ws.addEventListener('error', (err) => {
reject(err)
})
})
}

await run()

for (const ws of connections) {
ws.close()
}
Loading

0 comments on commit 0e0852f

Please sign in to comment.