diff --git a/api/package.json b/api/package.json index caf31fd..a25e931 100644 --- a/api/package.json +++ b/api/package.json @@ -34,6 +34,7 @@ "passport-http-bearer": "^1.0.1", "passport-jwt": "^2.1.0", "passport-oauth2-client-password": "^0.1.2", + "range": "0.0.3", "redis": "2.4.2", "request": "^2.60.0", "secure-random-string": "^1.0.0", diff --git a/api/scripts/benchmark-bcrypt.js b/api/scripts/benchmark-bcrypt.js new file mode 100755 index 0000000..f34a6c0 --- /dev/null +++ b/api/scripts/benchmark-bcrypt.js @@ -0,0 +1,27 @@ +#!/usr/bin/env headstone + +var bcrypt = require('bcrypt'); +var config = require('../config.json'); +var keystone = require('keystone'); +var range = require("range"); +var util = require('util'); +var srs = require('secure-random-string'); + +module.exports = function(done) +{ + var magnitude = 5; + var count = Math.pow(10, magnitude); + + console.log(util.format('Bcrypt benchmark with 10^%s 32-bytes random strings', magnitude)); + + console.time('time'); + var encryptedStrings = range.range(count).map((i) => { + process.stdout.write('.'); + return bcrypt.hashSync(srs(32), 10); + }); + process.stdout.write(' '); + console.timeEnd('time'); + + done(); + +};