Name: js-handler/node_modules/restify/node_modules/node-uuid/benchmark/benchmark.js 
1:
try {
2:
  var nodeuuid = require('../uuid');
3:
} catch (e) {
4:
  console.error('node-uuid require failed - skipping tests');
5:
}
6:
 
7:
try {
8:
  var uuid = require('uuid');
9:
} catch (e) {
10:
  console.error('uuid require failed - skipping tests');
11:
}
12:
 
13:
try {
14:
  var uuidjs = require('uuid-js');
15:
} catch (e) {
16:
  console.error('uuid-js require failed - skipping tests');
17:
}
18:
 
19:
var N = 5e5;
20:
 
21:
function rate(msg, t) {
22:
  console.log(msg + ': ' +
23:
    (N / (Date.now() - t) * 1e3 | 0) +
24:
    ' uuids/second');
25:
}
26:
 
27:
console.log('# v4');
28:
 
29:
// node-uuid - string form
30:
if (nodeuuid) {
31:
  for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v4();
32:
  rate('nodeuuid.v4() - using node.js crypto RNG', t);
33:
 
34:
  for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v4({rng: nodeuuid.mathRNG});
35:
  rate('nodeuuid.v4() - using Math.random() RNG', t);
36:
 
37:
  for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v4('binary');
38:
  rate('nodeuuid.v4(\'binary\')', t);
39:
 
40:
  var buffer = new nodeuuid.BufferClass(16);
41:
  for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v4('binary', buffer);
42:
  rate('nodeuuid.v4(\'binary\', buffer)', t);
43:
}
44:
 
45:
// libuuid - string form
46:
if (uuid) {
47:
  for (var i = 0, t = Date.now(); i < N; i++) uuid();
48:
  rate('uuid()', t);
49:
 
50:
  for (var i = 0, t = Date.now(); i < N; i++) uuid('binary');
51:
  rate('uuid(\'binary\')', t);
52:
}
53:
 
54:
// uuid-js - string form
55:
if (uuidjs) {
56:
  for (var i = 0, t = Date.now(); i < N; i++) uuidjs.create(4);
57:
  rate('uuidjs.create(4)', t);
58:
}
59:
 
60:
// 140byte.es
61:
for (var i = 0, t = Date.now(); i < N; i++) 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(s,r){r=Math.random()*16|0;return (s=='x'?r:r&0x3|0x8).toString(16)});
62:
rate('140byte.es_v4', t);
63:
 
64:
console.log('');
65:
console.log('# v1');
66:
 
67:
// node-uuid - v1 string form
68:
if (nodeuuid) {
69:
  for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v1();
70:
  rate('nodeuuid.v1()', t);
71:
 
72:
  for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v1('binary');
73:
  rate('nodeuuid.v1(\'binary\')', t);
74:
 
75:
  var buffer = new nodeuuid.BufferClass(16);
76:
  for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v1('binary', buffer);
77:
  rate('nodeuuid.v1(\'binary\', buffer)', t);
78:
}
79:
 
80:
// uuid-js - v1 string form
81:
if (uuidjs) {
82:
  for (var i = 0, t = Date.now(); i < N; i++) uuidjs.create(1);
83:
  rate('uuidjs.create(1)', t);
84:
}