46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
|
import crypto from 'crypto'
|
||
|
import Benchmark from 'benchmarkjs-pretty'
|
||
|
|
||
|
function TestGenerateRandomString() {
|
||
|
|
||
|
return new Benchmark.default('test different method to generate random string)')
|
||
|
.add('crypto.randomBytes(16)', function() {
|
||
|
for (let i = 0; i < 25; i++) {
|
||
|
crypto.randomBytes(16).toString('base64')
|
||
|
}
|
||
|
})
|
||
|
.add('crypto.randomBytes(32)', function() {
|
||
|
for (let i = 0; i < 25; i++) {
|
||
|
crypto.randomBytes(32).toString('base64')
|
||
|
}
|
||
|
})
|
||
|
.add('random (11 characters long)', function() {
|
||
|
for (let i = 0; i < 25; i++) {
|
||
|
let out = Math.random().toString(36).substring(2, 14)
|
||
|
}
|
||
|
})
|
||
|
.add('random (22 characters long)', function() {
|
||
|
for (let i = 0; i < 25; i++) {
|
||
|
let out = Math.random().toString(36).substring(2, 24)
|
||
|
+ Math.random().toString(36).substring(2, 24)
|
||
|
}
|
||
|
})
|
||
|
.add('random (44 characters long)', function() {
|
||
|
for (let i = 0; i < 25; i++) {
|
||
|
let out = Math.random().toString(36).substring(2, 24)
|
||
|
+ Math.random().toString(36).substring(2, 24)
|
||
|
+ Math.random().toString(36).substring(2, 24)
|
||
|
+ Math.random().toString(36).substring(2, 24)
|
||
|
}
|
||
|
})
|
||
|
.run()
|
||
|
.then(function() {}, function(e) {
|
||
|
console.error('error:', e)
|
||
|
process.exit(1)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
TestGenerateRandomString()
|
||
|
.then(function() {
|
||
|
process.exit(0)
|
||
|
})
|