Script Preparation code:
x
 
function generate_guid(s) {
    var i = 0,
        guid = '',
        n = s && s.length || 0;
    for (; i < 8; i++) {
        guid += (i < n) ? s[i] : '0';
    }
    guid += '-';
    for (i = 8; i < 12; i++) {
        guid += (i < n) ? s[i] : '0';
    }
    guid += '-';
    for (i = 12; i < 16; i++) {
        guid += (i < n) ? s[i] : '0';
    }
    guid += '-';
    for (i = 16; i < 20; i++) {
        guid += (i < n) ? s[i] : '0';
    }
    guid += '-';
    for (i = 20; i < 32; i++) {
        guid += (i < n) ? s[i] : '0';
    }
    return guid;
}
function randomString() {
    return Math.random().toFixed(16).slice(2);
}
function str32() {
    return randomString() + randomString();
}
var J = 0;
var repo = new Array(256).fill(0).map(str32);
Tests:
  • undefined

     
    generate_guid()
  • empty string

     
    generate_guid('')
  • random out of 1000

     
    generate_guid(repo[J++ & 255])
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    undefined
    empty string
    random out of 1000

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 7 years ago)
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Firefox 52 on Linux
View result in a separate tab
Test name Executions per second
undefined 1882734.2 Ops/sec
empty string 2069687.6 Ops/sec
random out of 1000 1411220.4 Ops/sec