| import { Bench } from 'tinybench' |
| import { fastUri } from '../index.js' |
| |
| const { |
| equal: fastUriEqual, |
| parse: fastUriParse, |
| } = fastUri |
| |
| const stringA = 'example://a/b/c/%7Bfoo%7D' |
| const stringB = 'eXAMPLE://a/./b/../b/%63/%7bfoo%7d' |
| |
| const componentA = fastUriParse(stringA) |
| const componentB = fastUriParse(stringB) |
| |
| const benchFastUri = new Bench({ name: 'fast-uri equal' }) |
| |
| benchFastUri.add('equal string with string', function () { |
| fastUriEqual(stringA, stringA) |
| }) |
| |
| benchFastUri.add('equal component with component', function () { |
| fastUriEqual(componentA, componentA) |
| }) |
| |
| benchFastUri.add('equal component with string', function () { |
| fastUriEqual(componentA, stringA) |
| }) |
| |
| benchFastUri.add('equal string with component', function () { |
| fastUriEqual(stringA, componentA) |
| }) |
| |
| benchFastUri.add('not equal string with string', function () { |
| fastUriEqual(stringA, stringB) |
| }) |
| |
| benchFastUri.add('not equal component with component', function () { |
| fastUriEqual(componentA, componentB) |
| }) |
| |
| benchFastUri.add('not equal component with string', function () { |
| fastUriEqual(componentA, stringB) |
| }) |
| |
| benchFastUri.add('not equal string with component', function () { |
| fastUriEqual(stringA, componentB) |
| }) |
| |
| await benchFastUri.run() |
| console.log(benchFastUri.name) |
| console.table(benchFastUri.table()) |