Remi's Array Loop Speed Test

HTML

<a accesskey="1" id="start-test" href="javascript:startTest()">Start test</a><br />
<table width=100% border=1>
<tr>
  <td>test 1</td>
  <td id="time-1">&nbsp;</td>
</tr>
<tr>
  <td>test 2</td>
  <td id="time-2"></td>
</tr>
</table>

CSS

html, body { font-family: sans-serif; }
table td { padding: 0.5em }

JavaScript

function test1(){
        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });    
}

function test2(){
    function s4() {
            return Math.floor((1 + Math.random()) * 0x10000)
                .toString(16)
                .substring(1);
        }
        return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
                    s4() + '-' + s4() + s4() + s4();
    
}



window.onload = function () {
    document.getElementById("start-test").onclick = startTest;
};


function startTest() {
    var divs = document.getElementsByTagName("div");
    
    var time1 = new Date().getTime();
    for (var i=0; i< 100000; i++) { test1(); }
    document.getElementById("time-1").innerHTML = new Date().getTime() - time1 + ' ms';
    
    var time2 = new Date().getTime();
    for (var i=0; i< 100000; i++) { test2(); }
    document.getElementById("time-2").innerHTML = new Date().getTime() - time2 + ' ms';
    
   
 }