Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
81146 views
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
}
85
86