UNPKG

find-my-way

Version:

Crazy fast http radix based router

56 lines (48 loc) 1.3 kB
'use strict' const fastDecode = require('fast-decode-uri-component') const Benchmark = require('benchmark') Benchmark.options.minSamples = 500 const suite = Benchmark.Suite() const uri = [ encodeURIComponent(' /?!#@=[](),\'"'), encodeURIComponent('algunas palabras aquí'), encodeURIComponent('acde=bdfd'), encodeURIComponent('много русских букв'), encodeURIComponent('這裡有些話'), encodeURIComponent('कुछ शब्द यहाँ'), encodeURIComponent('✌👀🎠🎡🍺') ] function safeFastDecode (uri) { if (uri.indexOf('%') < 0) return uri try { return fastDecode(uri) } catch (e) { return null // or it can be null } } function safeDecodeURIComponent (uri) { if (uri.indexOf('%') < 0) return uri try { return decodeURIComponent(uri) } catch (e) { return null // or it can be null } } uri.forEach(function (u, i) { suite.add(`safeDecodeURIComponent(${i}) [${u}]`, function () { safeDecodeURIComponent(u) }) suite.add(`fastDecode(${i}) [${u}]`, function () { fastDecode(u) }) suite.add(`safeFastDecode(${i}) [${u}]`, function () { safeFastDecode(u) }) }) suite .on('cycle', function (event) { console.log(String(event.target)) }) .on('complete', function () { }) .run()