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