Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Chrome 131
Windows
Desktop
12 days ago
Test name Executions per second
Do nothing (leave at the beginning, hardware warm up) 57478832.0 Ops/sec
Constant binding to literal 57676348.0 Ops/sec
Constant binding to constant 38365084.0 Ops/sec
Constant binding to variable 44917524.0 Ops/sec
Constant binding to array 38813616.0 Ops/sec
Constant reverse binding to array 37950436.0 Ops/sec
Variable binding to literal 62922236.0 Ops/sec
Variable binding to constant 44701200.0 Ops/sec
Variable binding to variable 44472068.0 Ops/sec
Variable binding to array 38883008.0 Ops/sec
Variable reverse binding to array 37504864.0 Ops/sec
Variable assignment to literal 1200615.4 Ops/sec
Variable assignment to constant 1226941.1 Ops/sec
Variable assignment to variable 1300063.2 Ops/sec
Variable assignment to array 1270750.2 Ops/sec
Variable reverse assignment to array 1244738.9 Ops/sec
Array assignment to literal 29425548.0 Ops/sec
Array reverse assignment to literal 27969364.0 Ops/sec
Array assignment to constant 24637108.0 Ops/sec
Array reverse assignment to constant 23982702.0 Ops/sec
Array assignment to variable 21835088.0 Ops/sec
Array reverse assignment to variable 21984274.0 Ops/sec
Array assignment to array 18808360.0 Ops/sec
Array reverse assignment to array 19444828.0 Ops/sec
Conditional variable assignment to literal !== 33192938.0 Ops/sec
Conditional variable assignment to constant !== 28093182.0 Ops/sec
Conditional variable assignment to variable !== 28372002.0 Ops/sec
Conditional variable assignment to array !== 28110302.0 Ops/sec
Conditional variable reverse assignment to array !== 28025650.0 Ops/sec
Conditional array assignment to literal !== 33255812.0 Ops/sec
Conditional array reverse assignment to literal !== 30802484.0 Ops/sec
Conditional array assignment to constant !== 21015598.0 Ops/sec
Conditional array reverse assignment to constant !== 23299324.0 Ops/sec
Conditional array assignment to variable !== 28490798.0 Ops/sec
Conditional array reverse assignment to variable !== 24140354.0 Ops/sec
Conditional array assignment to array !== 22638614.0 Ops/sec
Conditional array reverse assignment to array !== 21415974.0 Ops/sec
Conditional variable assignment to literal Object.is() 21240844.0 Ops/sec
Conditional variable assignment to constant Object.is() 20533852.0 Ops/sec
Conditional variable assignment to variable Object.is() 21149526.0 Ops/sec
Conditional variable assignment to array Object.is() 20102334.0 Ops/sec
Conditional variable reverse assignment to array Object.is() 18845834.0 Ops/sec
Conditional array assignment to literal Object.is() 22211558.0 Ops/sec
Conditional array reverse assignment to literal Object.is() 21639946.0 Ops/sec
Conditional array assignment to constant Object.is() 21027210.0 Ops/sec
Conditional array reverse assignment to constant Object.is() 21210166.0 Ops/sec
Conditional array assignment to variable Object.is() 21095758.0 Ops/sec
Conditional array reverse assignment to variable Object.is() 21350422.0 Ops/sec
Conditional array assignment to array Object.is() 18899040.0 Ops/sec
Conditional array reverse assignment to array Object.is() 19282466.0 Ops/sec
Loop from start with literal length 19614166.0 Ops/sec
Loop from end with literal length 18465244.0 Ops/sec
Loop from start with constant length 19443376.0 Ops/sec
Loop from end with constant length 19740880.0 Ops/sec
Loop from start with constant first length 16050165.0 Ops/sec
Loop from end with constant first length 17078096.0 Ops/sec
Loop from start with constant second length 15191005.0 Ops/sec
Loop from end with constant second length 15773020.0 Ops/sec
Loop from start with variable first length 15583005.0 Ops/sec
Loop from end with variable first length 16379137.0 Ops/sec
Loop from start with variable second length 15854480.0 Ops/sec
Loop from end with variable second length 15960315.0 Ops/sec
Loop from start re-evaluating first length 14691269.0 Ops/sec
Loop from end evaluating first length 16547016.0 Ops/sec
Loop from start re-evaluating second length 13889201.0 Ops/sec
Loop from end evaluating second length 16971996.0 Ops/sec
Loop in first 1989614.5 Ops/sec
Loop in second 1932137.9 Ops/sec
Loop of first 17988788.0 Ops/sec
Loop of second 21630276.0 Ops/sec
.forEach() on first 6480733.5 Ops/sec
.forEach() on first closure 15407853.0 Ops/sec
.forEach() on second 7516918.5 Ops/sec
.forEach() on second closure 14721358.0 Ops/sec
Array-destructuring constant binding 43363372.0 Ops/sec
Array-destructuring variable binding 42272040.0 Ops/sec
Array-destructuring variable assignment 1078004.5 Ops/sec
Array-destructuring element assignment 17102096.0 Ops/sec
Array-destructuring rest assignment 2698267.0 Ops/sec
Object-destructuring constant binding with numbers 39534520.0 Ops/sec
Object-destructuring reverse constant binding with numbers 44117768.0 Ops/sec
Object-destructuring variable binding with numbers 49794924.0 Ops/sec
Object-destructuring reverse variable binding with numbers 48931360.0 Ops/sec
Object-destructuring variable assignment with numbers 1385889.4 Ops/sec
Object-destructuring reverse variable assignment with numbers 1414131.5 Ops/sec
Object-destructuring element assignment with numbers 22839016.0 Ops/sec
Object-destructuring reverse element assignment with numbers 23307198.0 Ops/sec
Object-destructuring constant binding with strings 49664060.0 Ops/sec
Object-destructuring reverse constant binding with strings 49764324.0 Ops/sec
Object-destructuring variable binding with strings 45665976.0 Ops/sec
Object-destructuring reverse variable binding with strings 49085320.0 Ops/sec
Object-destructuring variable assignment with strings 1387436.0 Ops/sec
Object-destructuring reverse variable assignment with strings 1414204.4 Ops/sec
Object-destructuring element assignment with strings 22813556.0 Ops/sec
Object-destructuring reverse element assignment with strings 22832166.0 Ops/sec
Object-destructuring rest assignment 350344.6 Ops/sec
Do nothing (leave at the end, hardware is warmed up) 57665884.0 Ops/sec
Script Preparation code:
Tests:
  • Do nothing at the beginning, cold hardware

  • Constant binding to literal

  • Constant binding to constant

  • Constant binding to variable

  • Constant binding to array

  • Constant reverse binding to array

  • Variable binding to literal

  • Variable binding to constant

  • Variable binding to variable

  • Variable binding to array

  • Variable reverse binding to array

  • Variable assignment to literal

  • Variable assignment to constant

  • Variable assignment to variable

  • Variable assignment to array

  • Variable reverse assignment to array

  • Array assignment to literal

  • Array reverse assignment to literal

  • Array assignment to constant

  • Array reverse assignment to constant

  • Array assignment to variable

  • Array reverse assignment to variable

  • Array assignment to array

  • Array reverse assignment to array

  • Conditional variable assignment to literal !==

  • Conditional variable assignment to constant !==

  • Conditional variable assignment to variable !==

  • Conditional variable assignment to array !==

  • Conditional variable reverse assignment to array !==

  • Conditional array assignment to literal !==

  • Conditional array reverse assignment to literal !==

  • Conditional array assignment to constant !==

  • Conditional array reverse assignment to constant !==

  • Conditional array assignment to variable !==

  • Conditional array reverse assignment to variable !==

  • Conditional array assignment to array !==

  • Conditional array reverse assignment to array !==

  • Conditional variable assignment to literal Object.is()

  • Conditional variable assignment to constant Object.is()

  • Conditional variable assignment to variable Object.is()

  • Conditional variable assignment to array Object.is()

  • Conditional variable reverse assignment to array Object.is()

  • Conditional array assignment to literal Object.is()

  • Conditional array reverse assignment to literal Object.is()

  • Conditional array assignment to constant Object.is()

  • Conditional array reverse assignment to constant Object.is()

  • Conditional array assignment to variable Object.is()

  • Conditional array reverse assignment to variable Object.is()

  • Conditional array assignment to array Object.is()

  • Conditional array reverse assignment to array Object.is()

  • Loop from start with literal length

  • Loop from end with literal length

  • Loop from start with constant length

  • Loop from end with constant length

  • Loop from start with constant first length

  • Loop from end with constant first length

  • Loop from start with constant second length

  • Loop from end with constant second length

  • Loop from start with variable first length

  • Loop from end with variable first length

  • Loop from start with variable second length

  • Loop from end with variable second length

  • Loop from start re-evaluating first length

  • Loop from end evaluating first length

  • Loop from start re-evaluating second length

  • Loop from end evaluating second length

  • Loop in first

  • Loop in second

  • Loop of first

  • Loop of second

  • .forEach() on first

  • .forEach() on first closure

  • .forEach() on second

  • .forEach() on second closure

  • Array-destructuring constant binding

  • Array-destructuring variable binding

  • Array-destructuring variable assignment

  • Array-destructuring element assignment

  • Array-destructuring rest assignment

  • Object-destructuring constant binding with numbers

  • Object-destructuring reverse constant binding with numbers

  • Object-destructuring variable binding with numbers

  • Object-destructuring reverse variable binding with numbers

  • Object-destructuring variable assignment with numbers

  • Object-destructuring reverse variable assignment with numbers

  • Object-destructuring element assignment with numbers

  • Object-destructuring reverse element assignment with numbers

  • Object-destructuring constant binding with strings

  • Object-destructuring reverse constant binding with strings

  • Object-destructuring variable binding with strings

  • Object-destructuring reverse variable binding with strings

  • Object-destructuring variable assignment with strings

  • Object-destructuring reverse variable assignment with strings

  • Object-destructuring element assignment with strings

  • Object-destructuring reverse element assignment with strings

  • Object-destructuring rest assignment

  • Object.assign()

  • Do nothing at the end, warm hardware