Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
Chrome 89
Mac OS X 10.15.7
Desktop
3 years ago
Test name Executions per second
subarray direct 9759629.0 Ops/sec
slice direct 8180866.0 Ops/sec
subarray copy 3247307.0 Ops/sec
slice copy 3038152.2 Ops/sec
subarray set 3452963.8 Ops/sec
slice set 3246016.2 Ops/sec
Script Preparation code:
AخA
 
var data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
var f32 = new Float32Array(data);
Tests:
  • subarray direct

     
    var copy = f32.subarray(10, 20);
  • slice direct

     
    var copy = f32.slice(10, 20);
  • subarray copy

     
    var copy = new Float32Array(f32.subarray(10, 20));
  • slice copy

     
    var copy = new Float32Array(f32.slice(10, 20));
  • subarray set

     
    var copy = new Float32Array(10).set(f32.subarray(10, 20));
  • slice set

     
    var copy = new Float32Array(10).set(f32.slice(10, 20));