2 var nodeuuid = require('../uuid');
4 console.error('node-uuid require failed - skipping tests');
8 var uuid = require('uuid');
10 console.error('uuid require failed - skipping tests');
14 var uuidjs = require('uuid-js');
16 console.error('uuid-js require failed - skipping tests');
21 function rate(msg, t) {
22 console.log(msg + ': ' +
23 (N / (Date.now() - t) * 1e3 | 0) +
29 // node-uuid - string form
31 for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v4();
32 rate('nodeuuid.v4() - using node.js crypto RNG', t);
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);
37 for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v4('binary');
38 rate('nodeuuid.v4(\'binary\')', t);
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);
45 // libuuid - string form
47 for (var i = 0, t = Date.now(); i < N; i++) uuid();
50 for (var i = 0, t = Date.now(); i < N; i++) uuid('binary');
51 rate('uuid(\'binary\')', t);
54 // uuid-js - string form
56 for (var i = 0, t = Date.now(); i < N; i++) uuidjs.create(4);
57 rate('uuidjs.create(4)', t);
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);
67 // node-uuid - v1 string form
69 for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v1();
70 rate('nodeuuid.v1()', t);
72 for (var i = 0, t = Date.now(); i < N; i++) nodeuuid.v1('binary');
73 rate('nodeuuid.v1(\'binary\')', t);
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);
80 // uuid-js - v1 string form
82 for (var i = 0, t = Date.now(); i < N; i++) uuidjs.create(1);
83 rate('uuidjs.create(1)', t);