strong-tie/inbound-calls
0
1'use strict'2 3const bench = require('nanobench')4const fastDecode = require('./index')5 6const uri = [7 'test', 'a+b+c+d', '=a', '%25', '%%25%%', 'st%C3%A5le', 'st%C3%A5le%', '%st%C3%A5le%', '%%7Bst%C3%A5le%7D%',8 '%ab%C3%A5le%', '%C3%A5%able%', '%7B%ab%7C%de%7D', '%7B%ab%%7C%de%%7D', '%7 B%ab%%7C%de%%7 D', '%61+%4d%4D',9 '\uFEFFtest', '\uFEFF', '%EF%BB%BFtest', '%EF%BB%BF', '†', '%C2%B5', '%C2%B5%', '%%C2%B5%', '%ab', '%ab%ab%ab',10 '%', '%E0%A4%A', '/test/hel%"Flo', '/test/hel%2Flo'11]12 13const uriLen = uri.length14 15bench('fast-decode-uri-component', b => {16 b.start()17 for (var round = 0; round < 100000; round++) {18 for (var i = 0; i < uriLen; i++) {19 fastDecode(uri[i])20 }21 }22 b.end()23})24 25bench('decodeURIComponent', b => {26 b.start()27 for (var round = 0; round < 100000; round++) {28 for (var i = 0; i < uriLen; i++) {29 try {30 decodeURIComponent(uri[i])31 } catch (e) {}32 }33 }34 b.end()35})36 