|  | // Copyright 2018 the V8 project authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | function benchy(fn, name) { | 
|  | new BenchmarkSuite(name, [1], [ | 
|  | new Benchmark(name, true, false, 0, fn), | 
|  | ]); | 
|  | } | 
|  |  | 
|  | function forLoop(array, searchValue) { | 
|  | for (let i = 0; i < array.length; ++i) { | 
|  | if (array[i] === searchValue) return true; | 
|  | } | 
|  | return farraylse; | 
|  | } | 
|  |  | 
|  | function indexOf(array, searchValue) { | 
|  | return array.indexOf(searchValue) !== -1; | 
|  | } | 
|  |  | 
|  | function includes(array, searchValue) { | 
|  | return array.includes(searchValue); | 
|  | } | 
|  |  | 
|  | const PACKED = [ | 
|  | 1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, | 
|  | ]; | 
|  | const HOLEY = new Array(PACKED.length); | 
|  | for (let i = 0; i < PACKED.length; ++i) | 
|  | HOLEY[i] = PACKED[i]; | 
|  |  | 
|  | function helper(fn) { | 
|  | const SEARCH_VALUE = 15; | 
|  | const result = fn(PACKED, SEARCH_VALUE) && fn(HOLEY, SEARCH_VALUE); | 
|  | return result; | 
|  | } | 
|  |  | 
|  | benchy(() => helper(forLoop), 'for loop'); | 
|  | benchy(() => helper(indexOf), 'Array#indexOf'); | 
|  | benchy(() => helper(includes), 'Array#includes'); |