Test case name | Result |
---|---|
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 |
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 |