~ps-jenkins/ubuntu-push/ubuntu-vivid-proposed

« back to all changes in this revision

Viewing changes to docs/example-server/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js

  • Committer: Roberto Alsina
  • Date: 2014-09-05 14:57:17 UTC
  • mto: (91.179.25 automatic)
  • mto: This revision was merged to the branch mainline in revision 129.
  • Revision ID: roberto.alsina@canonical.com-20140905145717-0ufcsv27w25i1nnu
added example app server

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}