Script Preparation code:
x
 
function range1(start, stop, step, from, to) {
    if(from) {
        var value = start;
    }
    else {
        var value = start + step;
    }
    
    var length = Math.max(Math.ceil((stop - value) / step), 0);
    
    if(to && (stop % step === start % step)) {
        ++length;
    }
    
    var array = Array(length);
    
    for(var i = 0; i < length; i++, value += step) {
        array[i] = value;
    }
    
    return array;
};
function range2(start, stop, step, from, to) {
    var array = [];
    
    for(var i = from ? start : start + step, l = to ? stop + 1 : stop; i < l; i += step) {
        array.push(i);
    }
    
    return array;
};
function range3(start, stop, step, from, to) {
    var length = (stop - start) / step;
    if(length > 100) {
        if(from) {
            var value = start;
        }
        else {
            var value = start + step;
        }
        
        length = Math.max(Math.ceil(length), 0);
        
        if(to && (stop % step === start % step)) {
            ++length;
        }
        
        var array = Array(length);
        
        for(var i = 0; i < length; i++, value += step) {
            array[i] = value;
        }
    }
    else {
        var array = [];
        
        for(var i = from ? start : start + step, l = to ? stop + 1 : stop; i < l; i += step) {
            array.push(i);
        }
    }
    
    return array;
};
Tests:
  • 1 - 6

     
    range1(1, 6, 2, true, true);
  • 2 - 6

     
    range2(1, 6, 2, true, true);
  • 1 - 60

     
    range1(1, 60, 2, true, true);
  • 2 - 60

     
    range2(1, 60, 2, true, true);
  • 1 - 600

     
    range1(1, 600, 2, true, true);
  • 2 - 600

     
    range2(1, 600, 2, true, true);
  • 3 - 6

     
    range3(1, 6, 2, true, true);
  • 3 - 60

     
    range3(1, 60, 2, true, true);
  • 3 - 600

     
    range3(1, 600, 2, true, true);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    1 - 6
    2 - 6
    1 - 60
    2 - 60
    1 - 600
    2 - 600
    3 - 6
    3 - 60
    3 - 600

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 8 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36
Chrome 53 on Mac OS X 10.11.6
View result in a separate tab
Test name Executions per second
1 - 6 724154.6 Ops/sec
2 - 6 1957638.4 Ops/sec
1 - 60 582426.7 Ops/sec
2 - 60 727069.6 Ops/sec
1 - 600 200080.1 Ops/sec
2 - 600 81355.0 Ops/sec
3 - 6 2520363.5 Ops/sec
3 - 60 753157.3 Ops/sec
3 - 600 200023.3 Ops/sec