mirror of https://github.com/lukechilds/node.git
Browse Source
The Regex implementation is not faster than ascii code compare. the field name is shorter, the speed is faster. benchmark result here: https://bitbucket.org/snippets/JacksonTian/Rnbad/benchmark-result PR-URL: https://github.com/nodejs/node/pull/4790 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>process-exit-stdio-flushing
Jackson Tian
9 years ago
committed by
James M Snell
2 changed files with 100 additions and 2 deletions
@ -0,0 +1,52 @@ |
|||
'use strict'; |
|||
|
|||
const common = require('../common.js'); |
|||
const _checkIsHttpToken = require('_http_common')._checkIsHttpToken; |
|||
|
|||
const bench = common.createBenchmark(main, { |
|||
key: [ |
|||
'TCN', |
|||
'ETag', |
|||
'date', |
|||
'Vary', |
|||
'server', |
|||
'Server', |
|||
'status', |
|||
'version', |
|||
'Expires', |
|||
'alt-svc', |
|||
'location', |
|||
'Connection', |
|||
'Keep-Alive', |
|||
'content-type', |
|||
'Content-Type', |
|||
'Cache-Control', |
|||
'Last-Modified', |
|||
'Accept-Ranges', |
|||
'content-length', |
|||
'x-frame-options', |
|||
'x-xss-protection', |
|||
'Content-Encoding', |
|||
'Content-Location', |
|||
'Transfer-Encoding', |
|||
'alternate-protocol', |
|||
':', // invalid input
|
|||
'@@', |
|||
'中文呢', // unicode
|
|||
'((((())))', // invalid
|
|||
':alternate-protocol', // fast bailout
|
|||
'alternate-protocol:' // slow bailout
|
|||
], |
|||
n: [1e6], |
|||
}); |
|||
|
|||
function main(conf) { |
|||
var n = +conf.n; |
|||
var key = conf.key; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
_checkIsHttpToken(key); |
|||
} |
|||
bench.end(n); |
|||
} |
Loading…
Reference in new issue