| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../resources/runner.js"></script> |
| </head> |
| <body> |
| <script> |
| // To run this perf test, you need to run the web socket server: |
| // $ cd third_party/blink/perf_tests/websocket |
| // $ npm install |
| // $ npm start |
| // $ python ../../../../tools/perf/run_benchmark run blink_perf --browser=canary --test-path=websocket\receive-arraybuffer-1MBx100.html |
| |
| async function runTestCase() { |
| const ws = new WebSocket("ws://127.0.0.1:8001/"); |
| ws.binaryType = "arraybuffer"; |
| const onOpen = new Promise(resolve => { |
| ws.onopen = () => { |
| PerfTestRunner.addRunTestStartMarker(); |
| resolve(PerfTestRunner.now()); |
| }; |
| }); |
| const onClose = new Promise(resolve => { |
| ws.onclose = () => { |
| PerfTestRunner.addRunTestEndMarker(); |
| resolve(PerfTestRunner.now()); |
| } |
| }); |
| const [openTime, closeTime] = await Promise.all([onOpen, onClose]); |
| PerfTestRunner.measureValueAsync(closeTime - openTime); |
| } |
| |
| let isDone = false; |
| PerfTestRunner.startMeasureValuesAsync({ |
| description: "Measure performance of receiving 1MB array 100 times.", |
| unit: 'ms', |
| done: function () { |
| isDone = true; |
| }, |
| run: async function() { |
| while (!isDone) await runTestCase(); |
| }, |
| iterationCount: 6, |
| }); |
| </script> |
| </body> |
| </html> |