From fe74b5588d5fea05e00d8f9534f97c7655438053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Breitbart?= Date: Fri, 13 Sep 2019 13:11:23 +0200 Subject: [PATCH] use write callback in benchmark test --- test/benchmark/Terminal.benchmark.ts | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/test/benchmark/Terminal.benchmark.ts b/test/benchmark/Terminal.benchmark.ts index 676aa891..0e34ebb3 100644 --- a/test/benchmark/Terminal.benchmark.ts +++ b/test/benchmark/Terminal.benchmark.ts @@ -9,17 +9,6 @@ import { spawn } from 'node-pty'; import { Utf8ToUtf32, stringFromCodePoint } from 'common/input/TextDecoder'; import { Terminal } from 'Terminal'; -class TestTerminal extends Terminal { - writeSync(data: string): void { - this._writeBuffer.push(data); - this._innerWrite(); - } - writeSyncUtf8(data: Uint8Array): void { - this._writeBuffer.push(data); - this._innerWrite(); - } -} - perfContext('Terminal: ls -lR /usr/lib', () => { let content = ''; let contentUtf8: Uint8Array; @@ -56,23 +45,23 @@ perfContext('Terminal: ls -lR /usr/lib', () => { }); perfContext('write', () => { - let terminal: TestTerminal; + let terminal: Terminal; before(() => { - terminal = new TestTerminal({cols: 80, rows: 25, scrollback: 1000}); + terminal = new Terminal({cols: 80, rows: 25, scrollback: 1000}); }); - new ThroughputRuntimeCase('', () => { - terminal.writeSync(content); + new ThroughputRuntimeCase('', async () => { + await new Promise(resolve => terminal.write(content, resolve)); return {payloadSize: contentUtf8.length}; }, {fork: false}).showAverageThroughput(); }); perfContext('writeUtf8', () => { - let terminal: TestTerminal; + let terminal: Terminal; before(() => { - terminal = new TestTerminal({cols: 80, rows: 25, scrollback: 1000}); + terminal = new Terminal({cols: 80, rows: 25, scrollback: 1000}); }); - new ThroughputRuntimeCase('', () => { - terminal.writeSyncUtf8(contentUtf8); + new ThroughputRuntimeCase('', async () => { + await new Promise(resolve => terminal.write(content, resolve)); return {payloadSize: contentUtf8.length}; }, {fork: false}).showAverageThroughput(); });