Skip to content

Commit

Permalink
split server
Browse files Browse the repository at this point in the history
  • Loading branch information
tsctx committed May 5, 2024
1 parent 2792301 commit 7ef0e3a
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 54 deletions.
10 changes: 10 additions & 0 deletions benchmarks/websocket/server/echo.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { WebSocketServer } from 'ws'

const server = new WebSocketServer({ port: 5001 })

server.on('connection', (socket) => {
socket.on('message', (data, isBinary) => {
socket.send(data, { binary: isBinary })
// socket.close();
})
})
13 changes: 13 additions & 0 deletions benchmarks/websocket/server/simple.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { WebSocketServer } from 'ws'

const server = new WebSocketServer({ port: 5001 })

// Workaround for https://github.com/nodejs/undici/issues/3202
const emptyBuffer = Buffer.allocUnsafe(1)

server.on('connection', (socket) => {
socket.on('message', (_data, _isBinary) => {
socket.send(emptyBuffer)
// socket.close();
})
})
18 changes: 2 additions & 16 deletions benchmarks/websocket/websocket-echo.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { WebSocket as WsWebSocket, WebSocketServer } from 'ws'
import { WebSocket as WsWebSocket } from 'ws'
import { WebSocket as UndiciWebSocket } from '../../index.js'
import { randomBytes } from 'node:crypto'
import { bench, run, group } from 'mitata'
Expand All @@ -12,21 +12,9 @@ if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
GlobalWebSocket = globalThis.WebSocket
}

const server = new WebSocketServer({ port: 5001 })
const binary = randomBytes(__BINARY_SIZE__)

server.on('connection', (socket) => {
socket.on('message', (data, _isBinary) => {
socket.send(data)
// socket.close();
})
})

await new Promise((resolve, _reject) => {
server.on('listening', resolve)
})

const url = `http://localhost:${server.address().port}`
const url = 'http://localhost:5001'

const connections = []

Expand Down Expand Up @@ -90,8 +78,6 @@ for (const ws of connections) {

await run()

server.close()

for (const ws of connections) {
ws.close()
}
21 changes: 2 additions & 19 deletions benchmarks/websocket/websocket-send-buffer.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { WebSocket as WsWebSocket, WebSocketServer } from 'ws'
import { WebSocket as WsWebSocket } from 'ws'
import { WebSocket as UndiciWebSocket } from '../../index.js'
import { randomBytes } from 'node:crypto'
import { bench, run, group } from 'mitata'
Expand All @@ -12,24 +12,9 @@ if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
GlobalWebSocket = globalThis.WebSocket
}

const server = new WebSocketServer({ port: 5001 })
const binary = randomBytes(__BINARY_SIZE__)

// Workaround for https://github.com/nodejs/undici/issues/3202
const emptyBuffer = Buffer.allocUnsafe(1)

server.on('connection', (socket) => {
socket.on('message', (_data, _isBinary) => {
socket.send(emptyBuffer)
// socket.close();
})
})

await new Promise((resolve, _reject) => {
server.on('listening', resolve)
})

const url = `http://localhost:${server.address().port}`
const url = 'http://localhost:5001'

const connections = []

Expand Down Expand Up @@ -93,8 +78,6 @@ for (const ws of connections) {

await run()

server.close()

for (const ws of connections) {
ws.close()
}
21 changes: 2 additions & 19 deletions benchmarks/websocket/websocket-send-string.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { WebSocket as WsWebSocket, WebSocketServer } from 'ws'
import { WebSocket as WsWebSocket } from 'ws'
import { WebSocket as UndiciWebSocket } from '../../index.js'
import { randomBytes } from 'node:crypto'
import { bench, run, group } from 'mitata'
Expand All @@ -12,24 +12,9 @@ if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
GlobalWebSocket = globalThis.WebSocket
}

const server = new WebSocketServer({ port: 5001 })
const binary = randomBytes(__BINARY_SIZE__).toString('utf-8')

// Workaround for https://github.com/nodejs/undici/issues/3202
const emptyBuffer = Buffer.allocUnsafe(1)

server.on('connection', (socket) => {
socket.on('message', (_data, _isBinary) => {
socket.send(emptyBuffer)
// socket.close();
})
})

await new Promise((resolve, _reject) => {
server.on('listening', resolve)
})

const url = `http://localhost:${server.address().port}`
const url = 'http://localhost:5001'

const connections = []

Expand Down Expand Up @@ -93,8 +78,6 @@ for (const ws of connections) {

await run()

server.close()

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

0 comments on commit 7ef0e3a

Please sign in to comment.