mirror of https://github.com/lukechilds/node.git
Browse Source
Improve performance of crypto.getCiphers, getHashes, getCurves and tls.getCiphers by consolidating filterDuplicates logic, adding caching of output, and streamlining filterDuplicates implementation. Benchmarks: crypto.getCiphers n=1 v6.2.1 = 2559.3, new = 15890 ...... -83.89% crypto.getCiphers n=5000 v6.2.1 = 3516.3, new = 24203000 ... -99.99% tls.getCiphers n=1 v6.2.1 = 3405.3, new = 14877 ...... -77.11% tls.getCiphers n=5000 v6.2.1 = 6074.4, new = 24202000 ... -99.97% PR-URL: https://github.com/nodejs/node/pull/7225 Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>v7.x
James M Snell
9 years ago
4 changed files with 65 additions and 38 deletions
@ -0,0 +1,20 @@ |
|||
'use strict'; |
|||
|
|||
const common = require('../common.js'); |
|||
|
|||
const bench = common.createBenchmark(main, { |
|||
n: [1, 5000], |
|||
v: ['crypto', 'tls'] |
|||
}); |
|||
|
|||
function main(conf) { |
|||
const n = +conf.n; |
|||
const v = conf.v; |
|||
const method = require(v).getCiphers; |
|||
var i = 0; |
|||
|
|||
common.v8ForceOptimization(method); |
|||
bench.start(); |
|||
for (; i < n; i++) method(); |
|||
bench.end(n); |
|||
} |
Loading…
Reference in new issue