summaryrefslogtreecommitdiff
path: root/benchmark/url/usvstring.js
blob: 37141ff55122490ec069eeaf1479df04b03c0320 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'use strict';
const common = require('../common.js');

const inputs = {
  valid: 'adsfadsfadsf',
  validsurr: '\uda23\ude23\uda1f\udfaa\ud800\udfff\uda23\ude23\uda1f\udfaa' +
             '\ud800\udfff',
  someinvalid: 'asasfdfasd\uda23',
  allinvalid: '\udc45\uda23 \udf00\udc00 \udfaa\uda12 \udc00\udfaa',
  nonstring: { toString() { return 'asdf'; } }
};
const bench = common.createBenchmark(main, {
  input: Object.keys(inputs),
  n: [5e7]
}, {
  flags: ['--expose-internals']
});

function main({ input, n }) {
  const { toUSVString } = require('internal/url');
  const str = inputs[input];

  bench.start();
  for (let i = 0; i < n; i++)
    toUSVString(str);
  bench.end(n);
}