| Index: PerformanceTests/Pywebsocket/resources/util_performance_test.js
|
| diff --git a/PerformanceTests/Pywebsocket/resources/util_performance_test.js b/PerformanceTests/Pywebsocket/resources/util_performance_test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..20021a418c42eae4d200f0032b7c21c76fa2a80d
|
| --- /dev/null
|
| +++ b/PerformanceTests/Pywebsocket/resources/util_performance_test.js
|
| @@ -0,0 +1,64 @@
|
| +function perfTestAddToLog(text) {
|
| + PerfTestRunner.log(text);
|
| +}
|
| +
|
| +function perfTestAddToSummary(text) {
|
| +}
|
| +
|
| +function perfTestMeasureValue(value) {
|
| + PerfTestRunner.measureValueAsync(value);
|
| + PerfTestRunner.gc();
|
| +}
|
| +
|
| +function perfTestNotifyAbort() {
|
| + PerfTestRunner.logFatalError("benchmark aborted");
|
| +}
|
| +
|
| +const numIterations = 10;
|
| +const numWarmUpIterations = 5;
|
| +
|
| +function getConfigForPerformanceTest(connectionType, dataType, async,
|
| + verifyData) {
|
| + return {
|
| + prefixUrl:
|
| + connectionType === 'WebSocket' ? 'ws://localhost:8001/benchmark_helper' :
|
| + 'http://localhost:8001/073be001e10950692ccbf3a2ad21c245', // XHR or fetch
|
| + printSize: true,
|
| + numXHRs: 1,
|
| + numFetches: 1,
|
| + numSockets: 1,
|
| + // + 1 is for a warmup iteration by the Telemetry framework.
|
| + numIterations: numIterations + numWarmUpIterations + 1,
|
| + numWarmUpIterations: numWarmUpIterations,
|
| + minTotal: 10240000,
|
| + startSize: 10240000,
|
| + stopThreshold: 10240000,
|
| + multipliers: [2],
|
| + verifyData: verifyData,
|
| + dataType: dataType,
|
| + async: async,
|
| + addToLog: perfTestAddToLog,
|
| + addToSummary: perfTestAddToSummary,
|
| + measureValue: perfTestMeasureValue,
|
| + notifyAbort: perfTestNotifyAbort
|
| + };
|
| +}
|
| +
|
| +function startPerformanceTest(connectionType, benchmarkName,
|
| + dataType, isWorker, async, verifyData){
|
| + initWorker(connectionType, 'http://localhost:8001');
|
| +
|
| + PerfTestRunner.prepareToMeasureValuesAsync({
|
| + done: function() {
|
| + var config = getConfigForPerformanceTest(connectionType, dataType,
|
| + async, verifyData);
|
| + doAction(config, isWorker, 'stop');
|
| + },
|
| + unit: 'ms',
|
| + dromaeoIterationCount: numIterations
|
| + });
|
| +
|
| + var config = getConfigForPerformanceTest(connectionType, dataType, async,
|
| + verifyData);
|
| + doAction(config, isWorker, benchmarkName);
|
| +}
|
|
|