Skip to content

Instantly share code, notes, and snippets.

@kaizhu256
Last active October 20, 2021 16:25
Show Gist options
  • Save kaizhu256/4482069 to your computer and use it in GitHub Desktop.
Save kaizhu256/4482069 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());
}());
@Thomas-Roper
Copy link

Useful gist. Is it alright if I use this code if we attribute it to you & link to this gist?

@yvsssantosh
Copy link

Awesome gist!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment