Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yvsssantosh/e89d06205a601de47187dbf38b0e5a43 to your computer and use it in GitHub Desktop.
Save yvsssantosh/e89d06205a601de47187dbf38b0e5a43 to your computer and use it in GitHub Desktop.
javascript - very fast and simple uuid4 generator benchmarked on http://jsperf.com/uuid4/8
/*jslint bitwise: true, indent: 2, nomen: true, regexp: true, stupid: true*/
(function () {
'use strict';
var exports = {};
exports.uuid4 = function () {
//// return uuid of form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
var uuid = '', ii;
for (ii = 0; ii < 32; ii += 1) {
switch (ii) {
case 8:
case 20:
uuid += '-';
uuid += (Math.random() * 16 | 0).toString(16);
break;
case 12:
uuid += '-';
uuid += '4';
break;
case 16:
uuid += '-';
uuid += (Math.random() * 4 | 8).toString(16);
break;
default:
uuid += (Math.random() * 16 | 0).toString(16);
}
}
return uuid;
};
//// test
console.log(exports.uuid4());
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment