Created
March 31, 2018 23:10
-
-
Save julianjensen/8dbfa0eacf6930605aa728c780bd10cb to your computer and use it in GitHub Desktop.
Benchmarks (taken from fast.js) comparing built-in (native) implementation versus user-land implementations.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .fill() vs fast.fill() (3 items) Native .fill() vs fast.fill() (3 items) | |
| ✓ Array.prototype.fill() x 26,557,003 ops/sec ±1.88% (90 runs sampled) ✓ Array.prototype.fill() x 31,067,272 ops/sec ±1.43% (90 runs sampled) | |
| ✓ Vector.fill() x 83,198,767 ops/sec ±4.40% (84 runs sampled) ✓ Vector.fill() x 147,385,123 ops/sec ±1.34% (89 runs sampled) | |
| ✓ fast.fill() x 83,882,082 ops/sec ±5.03% (84 runs sampled) ✓ fast.fill() x 140,299,152 ops/sec ±1.53% (88 runs sampled) | |
| Result: fast.js is 0.00% faster than Vector.fill(). Result: fast.js is 0.00% faster than Array.prototype.fill(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .fill() vs fast.fill() (10 items) Native .fill() vs fast.fill() (10 items) | |
| ✓ Array.prototype.fill() x 19,710,097 ops/sec ±4.50% (81 runs sampled) ✓ Array.prototype.fill() x 23,786,755 ops/sec ±1.31% (92 runs sampled) | |
| ✓ Vector.fill() x 44,770,920 ops/sec ±6.21% (84 runs sampled) ✓ Vector.fill() x 62,773,698 ops/sec ±1.45% (93 runs sampled) | |
| ✓ fast.fill() x 38,817,383 ops/sec ±10.51% (75 runs sampled) ✓ fast.fill() x 60,199,742 ops/sec ±1.50% (87 runs sampled) | |
| Result: fast.js is 0.00% faster than Array.prototype.fill(). Result: fast.js is 0.00% faster than Array.prototype.fill(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .fill() vs fast.fill() (1000 items) Native .fill() vs fast.fill() (1000 items) | |
| ✓ Array.prototype.fill() x 610,471 ops/sec ±11.34% (79 runs sampled) ✓ Array.prototype.fill() x 783,093 ops/sec ±1.43% (95 runs sampled) | |
| ✓ Vector.fill() x 608,909 ops/sec ±11.10% (79 runs sampled) ✓ Vector.fill() x 880,700 ops/sec ±1.31% (94 runs sampled) | |
| ✓ fast.fill() x 627,518 ops/sec ±10.55% (77 runs sampled) ✓ fast.fill() x 855,316 ops/sec ±1.80% (91 runs sampled) | |
| Result: fast.js is 0.26% faster than Vector.fill(). Result: fast.js is 0.00% faster than Array.prototype.fill(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .reduce() plucker vs fast.pluck() Native .reduce() plucker vs fast.pluck() | |
| ✓ Native Array::reduce() plucker x 736,415 ops/sec ±1.94% (86 runs sampled) ✓ Native Array::reduce() plucker x 1,078,613 ops/sec ±1.43% (91 runs sampled) | |
| ✓ fast.pluck() x 928,180 ops/sec ±2.08% (85 runs sampled) ✓ fast.pluck() x 910,155 ops/sec ±1.67% (90 runs sampled) | |
| ✓ underscore.pluck() x 807,584 ops/sec ±1.73% (85 runs sampled) ✓ underscore.pluck() x 837,325 ops/sec ±1.19% (92 runs sampled) | |
| ✓ lodash.pluck(): ✓ lodash.pluck(): | |
| Result: fast.js is 26.04% faster than Native Array::reduce() plucker. Result: fast.js is 15.62% slower than Native Array::reduce() plucker. | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native Object.keys().map() value extractor vs fast.values() Native Object.keys().map() value extractor vs fast.values() | |
| ✓ Native Object.keys().map() x 2,144,391 ops/sec ±2.71% (80 runs sampled) ✓ Native Object.keys().map() x 6,427,729 ops/sec ±1.83% (90 runs sampled) | |
| ✓ fast.values() x 8,294,013 ops/sec ±2.35% (87 runs sampled) ✓ fast.values() x 16,072,149 ops/sec ±1.48% (90 runs sampled) | |
| ✓ underscore.values() x 7,900,592 ops/sec ±1.60% (87 runs sampled) ✓ underscore.values() x 7,834,497 ops/sec ±1.33% (91 runs sampled) | |
| ✓ lodash.values() x 4,059,460 ops/sec ±1.93% (83 runs sampled) ✓ lodash.values() x 5,829,374 ops/sec ±1.97% (93 runs sampled) | |
| Result: fast.js is 286.78% faster than Native Object.keys().map(). Result: fast.js is 150.04% faster than Native Object.keys().map(). | |
| Object.assign() vs fast.assign() Object.assign() vs fast.assign() | |
| ✓ Object.assign() x 312,864 ops/sec ±2.04% (82 runs sampled) ✓ Object.assign() x 308,246 ops/sec ±1.74% (93 runs sampled) | |
| ✓ fast.assign() x 291,065 ops/sec ±2.03% (84 runs sampled) ✓ fast.assign() x 332,987 ops/sec ±1.93% (91 runs sampled) | |
| ✓ fast.assign() v0.0.4c x 282,802 ops/sec ±2.10% (80 runs sampled) ✓ fast.assign() v0.0.4c x 335,391 ops/sec ±1.68% (94 runs sampled) | |
| ✓ fast.assign() v0.0.4b x 266,415 ops/sec ±2.03% (83 runs sampled) ✓ fast.assign() v0.0.4b x 293,002 ops/sec ±2.09% (92 runs sampled) | |
| ✓ lodash.assign() x 217,490 ops/sec ±1.86% (81 runs sampled) ✓ lodash.assign() x 249,559 ops/sec ±1.77% (91 runs sampled) | |
| Result: fast.js is 6.97% slower than Object.assign(). Result: fast.js is 8.03% faster than Object.assign(). | |
| Object.assign() vs fast.assign() (3 arguments) Object.assign() vs fast.assign() (3 arguments) | |
| ✓ Object.assign() x 144,884 ops/sec ±2.48% (82 runs sampled) ✓ Object.assign() x 138,327 ops/sec ±2.08% (89 runs sampled) | |
| ✓ fast.assign() x 64,011 ops/sec ±1.92% (79 runs sampled) ✓ fast.assign() x 106,050 ops/sec ±2.48% (88 runs sampled) | |
| ✓ fast.assign() v0.0.4c x 64,382 ops/sec ±2.31% (78 runs sampled) ✓ fast.assign() v0.0.4c x 109,038 ops/sec ±2.36% (89 runs sampled) | |
| ✓ fast.assign() v0.0.4b x 61,674 ops/sec ±2.27% (78 runs sampled) ✓ fast.assign() v0.0.4b x 97,206 ops/sec ±2.06% (89 runs sampled) | |
| Result: fast.js is 55.82% slower than Object.assign(). Result: fast.js is 23.33% slower than Object.assign(). | |
| Object.assign() vs fast.assign() (10 arguments) Object.assign() vs fast.assign() (10 arguments) | |
| ✓ Object.assign() x 37,192 ops/sec ±3.20% (76 runs sampled) ✓ Object.assign() x 32,956 ops/sec ±3.03% (83 runs sampled) | |
| ✓ fast.assign() x 23,060 ops/sec ±2.21% (77 runs sampled) ✓ fast.assign() x 32,805 ops/sec ±2.74% (84 runs sampled) | |
| ✓ fast.assign() v0.0.4c x 23,091 ops/sec ±2.20% (78 runs sampled) ✓ fast.assign() v0.0.4c x 32,627 ops/sec ±2.63% (83 runs sampled) | |
| ✓ fast.assign() v0.0.4b x 21,972 ops/sec ±2.02% (83 runs sampled) ✓ fast.assign() v0.0.4b x 29,261 ops/sec ±3.09% (85 runs sampled) | |
| Result: fast.js is 38% slower than Object.assign(). Result: fast.js is 0.46% slower than Object.assign(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native string comparison vs fast.intern() (short) Native string comparison vs fast.intern() (short) | |
| ✓ Native comparison x 29,826,850 ops/sec ±1.65% (92 runs sampled) ✓ Native comparison x 727,985,051 ops/sec ±0.78% (87 runs sampled) | |
| ✓ fast.intern() x 137,204,591 ops/sec ±2.02% (87 runs sampled) ✓ fast.intern() x 870,384,019 ops/sec ±0.56% (91 runs sampled) | |
| Result: fast.js is 360.00% faster than Native comparison. Result: fast.js is 19.56% faster than Native comparison. | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native string comparison vs fast.intern() (medium) Native string comparison vs fast.intern() (medium) | |
| ✓ Native comparison x 2,392,547 ops/sec ±1.57% (92 runs sampled) ✓ Native comparison x 1,697,554 ops/sec ±1.61% (93 runs sampled) | |
| ✓ fast.intern() x 149,750,196 ops/sec ±1.51% (90 runs sampled) ✓ fast.intern() x 866,485,471 ops/sec ±0.69% (93 runs sampled) | |
| Result: fast.js is 6159.03% faster than Native comparison. Result: fast.js is 50943.19% faster than Native comparison. | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native string comparison vs fast.intern() (long) Native string comparison vs fast.intern() (long) | |
| ✓ Native comparison x 266,418 ops/sec ±1.43% (88 runs sampled) ✓ Native comparison x 18,532 ops/sec ±1.33% (95 runs sampled) | |
| ✓ fast.intern() x 141,503,451 ops/sec ±1.94% (85 runs sampled) ✓ fast.intern() x 873,386,305 ops/sec ±0.45% (92 runs sampled) | |
| Result: fast.js is 53013.26% faster than Native comparison. Result: fast.js is 4712825.17% faster than Native comparison. | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native try {} catch (e) {} vs fast.try() Native try {} catch (e) {} vs fast.try() | |
| ✓ try...catch x 4,681,858 ops/sec ±2.06% (89 runs sampled) ✓ try...catch x 4,763,770 ops/sec ±0.93% (94 runs sampled) | |
| ✓ fast.try() x 3,667,389 ops/sec ±2.08% (86 runs sampled) ✓ fast.try() x 4,615,280 ops/sec ±0.97% (95 runs sampled) | |
| Result: fast.js is 21.67% slower than try...catch. Result: fast.js is 3.12% slower than try...catch. | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native try {} catch (e) {} vs fast.try() (single function call) Native try {} catch (e) {} vs fast.try() (single function call) | |
| ✓ try...catch x 4,842,372 ops/sec ±2.16% (87 runs sampled) ✓ try...catch x 4,714,099 ops/sec ±1.08% (93 runs sampled) | |
| ✓ fast.try() x 4,805,286 ops/sec ±2.19% (87 runs sampled) ✓ fast.try() x 4,692,263 ops/sec ±1.33% (92 runs sampled) | |
| Result: fast.js is 0.77% slower than try...catch. Result: fast.js is 0.46% slower than try...catch. | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .apply() vs fast.apply() (3 items, no context) Native .apply() vs fast.apply() (3 items, no context) | |
| ✓ Function::apply() x 40,864,646 ops/sec ±2.02% (86 runs sampled) ✓ Function::apply() x 40,155,500 ops/sec ±1.19% (94 runs sampled) | |
| ✓ fast.apply() x 41,047,776 ops/sec ±1.63% (85 runs sampled) ✓ fast.apply() x 46,415,253 ops/sec ±1.79% (89 runs sampled) | |
| Result: fast.js is 0.45% faster than Function::apply(). Result: fast.js is 15.59% faster than Function::apply(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .apply() vs fast.apply() (3 items, with context) Native .apply() vs fast.apply() (3 items, with context) | |
| ✓ Function::apply() x 40,153,512 ops/sec ±2.32% (84 runs sampled) ✓ Function::apply() x 37,887,848 ops/sec ±1.37% (91 runs sampled) | |
| ✓ fast.apply() x 40,220,033 ops/sec ±2.00% (85 runs sampled) ✓ fast.apply() x 40,974,493 ops/sec ±2.42% (86 runs sampled) | |
| Result: fast.js is 0.17% faster than Function::apply(). Result: fast.js is 8.15% faster than Function::apply(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .apply() vs fast.apply() (6 items, no context) Native .apply() vs fast.apply() (6 items, no context) | |
| ✓ Function::apply() x 42,723,087 ops/sec ±1.75% (88 runs sampled) ✓ Function::apply() x 35,483,843 ops/sec ±2.18% (84 runs sampled) | |
| ✓ fast.apply() x 42,208,402 ops/sec ±1.73% (85 runs sampled) ✓ fast.apply() x 38,943,145 ops/sec ±1.88% (82 runs sampled) | |
| Result: fast.js is 1.2% slower than Function::apply(). Result: fast.js is 9.75% faster than Function::apply(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .apply() vs fast.apply() (6 items, with context) Native .apply() vs fast.apply() (6 items, with context) | |
| ✓ Function::apply() x 32,596,604 ops/sec ±2.47% (86 runs sampled) ✓ Function::apply() x 27,312,890 ops/sec ±1.75% (87 runs sampled) | |
| ✓ fast.apply() x 34,024,967 ops/sec ±2.32% (84 runs sampled) ✓ fast.apply() x 30,214,209 ops/sec ±1.37% (91 runs sampled) | |
| Result: fast.js is 4.38% faster than Function::apply(). Result: fast.js is 10.62% faster than Function::apply(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .apply() vs fast.apply() (10 items, no context) Native .apply() vs fast.apply() (10 items, no context) | |
| ✓ Function::apply() x 34,118,666 ops/sec ±2.03% (84 runs sampled) ✓ Function::apply() x 25,326,022 ops/sec ±1.60% (92 runs sampled) | |
| ✓ fast.apply() x 27,728,204 ops/sec ±1.95% (87 runs sampled) ✓ fast.apply() x 25,343,388 ops/sec ±1.34% (91 runs sampled) | |
| Result: fast.js is 18.73% slower than Function::apply(). Result: fast.js is 0.07% faster than Function::apply(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .apply() vs fast.apply() (10 items, with context) Native .apply() vs fast.apply() (10 items, with context) | |
| ✓ Function::apply() x 31,216,462 ops/sec ±1.87% (89 runs sampled) ✓ Function::apply() x 24,256,127 ops/sec ±1.71% (90 runs sampled) | |
| ✓ fast.apply() x 25,556,392 ops/sec ±2.34% (84 runs sampled) ✓ fast.apply() x 23,733,530 ops/sec ±1.36% (92 runs sampled) | |
| Result: fast.js is 18.13% slower than Function::apply(). Result: fast.js is 2.15% slower than Function::apply(). | |
| fast.clone() vs underscore.clone() vs lodash.clone() fast.clone() vs underscore.clone() vs lodash.clone() | |
| ✓ fast.clone() x 5,153,527 ops/sec ±2.30% (84 runs sampled) ✓ fast.clone() x 5,796,233 ops/sec ±1.72% (91 runs sampled) | |
| ✓ underscore.clone() x 2,882,461 ops/sec ±2.24% (88 runs sampled) ✓ underscore.clone() x 3,320,806 ops/sec ±1.61% (91 runs sampled) | |
| ✓ lodash.clone() x 1,013,198 ops/sec ±3.17% (86 runs sampled) ✓ lodash.clone() x 1,885,391 ops/sec ±1.50% (93 runs sampled) | |
| Result: fast.js is 408.64% faster than lodash.clone(). Result: fast.js is 207.43% faster than lodash.clone(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .indexOf() vs fast.indexOf() (3 items) Native .indexOf() vs fast.indexOf() (3 items) | |
| ✓ Array::indexOf() x 16,300,234 ops/sec ±1.67% (87 runs sampled) ✓ Array::indexOf() x 30,518,452 ops/sec ±1.30% (91 runs sampled) | |
| ✓ fast.indexOf() x 53,054,117 ops/sec ±1.75% (90 runs sampled) ✓ fast.indexOf() x 47,621,456 ops/sec ±1.77% (90 runs sampled) | |
| ✓ fast.indexOf() v0.0.2 x 57,122,909 ops/sec ±1.56% (90 runs sampled) ✓ fast.indexOf() v0.0.2 x 47,494,331 ops/sec ±1.71% (89 runs sampled) | |
| ✓ underscore.indexOf() x 7,597,118 ops/sec ±1.60% (90 runs sampled) ✓ underscore.indexOf() x 24,807,316 ops/sec ±1.62% (90 runs sampled) | |
| ✓ lodash.indexOf() x 22,170,689 ops/sec ±1.78% (87 runs sampled) ✓ lodash.indexOf() x 30,255,935 ops/sec ±0.82% (92 runs sampled) | |
| ✓ vector.indexOf() x 49,151,923 ops/sec ±1.62% (89 runs sampled) ✓ vector.indexOf() x 46,175,797 ops/sec ±2.27% (91 runs sampled) | |
| Result: fast.js is 225.48% faster than Array::indexOf(). Result: fast.js is 56.04% faster than Array::indexOf(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .indexOf() vs fast.indexOf() (10 items) Native .indexOf() vs fast.indexOf() (10 items) | |
| ✓ Array::indexOf() x 13,863,210 ops/sec ±1.83% (88 runs sampled) ✓ Array::indexOf() x 22,314,707 ops/sec ±0.87% (92 runs sampled) | |
| ✓ fast.indexOf() x 28,440,332 ops/sec ±1.67% (89 runs sampled) ✓ fast.indexOf() x 31,041,983 ops/sec ±0.88% (92 runs sampled) | |
| ✓ fast.indexOf() v0.0.2 x 34,593,549 ops/sec ±1.39% (91 runs sampled) ✓ fast.indexOf() v0.0.2 x 30,255,234 ops/sec ±0.78% (91 runs sampled) | |
| ✓ underscore.indexOf() x 6,449,724 ops/sec ±1.66% (88 runs sampled) ✓ underscore.indexOf() x 18,038,795 ops/sec ±1.65% (89 runs sampled) | |
| ✓ lodash.indexOf() x 15,086,113 ops/sec ±1.78% (88 runs sampled) ✓ lodash.indexOf() x 13,796,020 ops/sec ±1.61% (90 runs sampled) | |
| ✓ vector.indexOf() x 26,157,087 ops/sec ±1.25% (89 runs sampled) ✓ vector.indexOf() x 23,923,539 ops/sec ±2.59% (84 runs sampled) | |
| Result: fast.js is 105.15% faster than Array::indexOf(). Result: fast.js is 39.11% faster than Array::indexOf(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .indexOf() vs fast.indexOf() (1000 items) Native .indexOf() vs fast.indexOf() (1000 items) | |
| ✓ Array::indexOf() x 563,576 ops/sec ±1.35% (89 runs sampled) ✓ Array::indexOf() x 551,049 ops/sec ±0.89% (96 runs sampled) | |
| ✓ fast.indexOf() x 402,350 ops/sec ±1.08% (92 runs sampled) ✓ fast.indexOf() x 621,846 ops/sec ±1.25% (95 runs sampled) | |
| ✓ fast.indexOf() v0.0.2 x 619,274 ops/sec ±1.12% (92 runs sampled) ✓ fast.indexOf() v0.0.2 x 633,923 ops/sec ±0.70% (97 runs sampled) | |
| ✓ underscore.indexOf() x 324,591 ops/sec ±1.52% (92 runs sampled) ✓ underscore.indexOf() x 577,562 ops/sec ±1.31% (95 runs sampled) | |
| ✓ lodash.indexOf() x 373,239 ops/sec ±1.51% (91 runs sampled) ✓ lodash.indexOf() x 242,323 ops/sec ±1.25% (93 runs sampled) | |
| ✓ vector.indexOf() x 322,863 ops/sec ±1.63% (89 runs sampled) ✓ vector.indexOf() x 463,005 ops/sec ±1.39% (95 runs sampled) | |
| Result: fast.js is 28.61% slower than Array::indexOf(). Result: fast.js is 12.85% faster than Array::indexOf(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .lastIndexOf() vs fast.lastIndexOf() (3 items) Native .lastIndexOf() vs fast.lastIndexOf() (3 items) | |
| ✓ Array::lastIndexOf() x 124,911,742 ops/sec ±1.60% (88 runs sampled) ✓ Array::lastIndexOf() x 44,971,271 ops/sec ±1.56% (91 runs sampled) | |
| ✓ fast.lastIndexOf() x 101,277,774 ops/sec ±1.84% (89 runs sampled) ✓ fast.lastIndexOf() x 95,862,510 ops/sec ±2.12% (87 runs sampled) | |
| ✓ fast.lastIndexOf() v0.0.2 x 111,297,984 ops/sec ±1.43% (89 runs sampled) ✓ fast.lastIndexOf() v0.0.2 x 99,682,906 ops/sec ±1.82% (91 runs sampled) | |
| ✓ underscore.lastIndexOf() x 13,280,065 ops/sec ±2.07% (87 runs sampled) ✓ underscore.lastIndexOf() x 48,220,639 ops/sec ±1.85% (89 runs sampled) | |
| ✓ lodash.lastIndexOf() x 22,324,708 ops/sec ±1.53% (91 runs sampled) ✓ lodash.lastIndexOf() x 23,596,868 ops/sec ±1.42% (91 runs sampled) | |
| Result: fast.js is 18.92% slower than Array::lastIndexOf(). Result: fast.js is 113.16% faster than Array::lastIndexOf(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .lastIndexOf() vs fast.lastIndexOf() (10 items) Native .lastIndexOf() vs fast.lastIndexOf() (10 items) | |
| ✓ Array::lastIndexOf() x 85,966,656 ops/sec ±1.68% (90 runs sampled) ✓ Array::lastIndexOf() x 22,938,188 ops/sec ±1.23% (91 runs sampled) | |
| ✓ fast.lastIndexOf() x 50,025,656 ops/sec ±1.33% (90 runs sampled) ✓ fast.lastIndexOf() x 57,539,544 ops/sec ±1.55% (91 runs sampled) | |
| ✓ fast.lastIndexOf() v0.0.2 x 67,659,292 ops/sec ±1.52% (87 runs sampled) ✓ fast.lastIndexOf() v0.0.2 x 55,171,111 ops/sec ±2.48% (86 runs sampled) | |
| ✓ underscore.lastIndexOf() x 5,925,891 ops/sec ±2.02% (86 runs sampled) ✓ underscore.lastIndexOf() x 23,037,516 ops/sec ±1.42% (92 runs sampled) | |
| ✓ lodash.lastIndexOf() x 7,579,377 ops/sec ±1.56% (88 runs sampled) ✓ lodash.lastIndexOf() x 7,537,132 ops/sec ±1.36% (90 runs sampled) | |
| Result: fast.js is 41.81% slower than Array::lastIndexOf(). Result: fast.js is 150.85% faster than Array::lastIndexOf(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .lastIndexOf() vs fast.lastIndexOf() (1000 items) Native .lastIndexOf() vs fast.lastIndexOf() (1000 items) | |
| ✓ Array::lastIndexOf() x 2,542,751 ops/sec ±1.63% (91 runs sampled) ✓ Array::lastIndexOf() x 1,307,611 ops/sec ±1.16% (95 runs sampled) | |
| ✓ fast.lastIndexOf() x 1,065,469 ops/sec ±1.55% (90 runs sampled) ✓ fast.lastIndexOf() x 1,425,125 ops/sec ±1.38% (94 runs sampled) | |
| ✓ fast.lastIndexOf() v0.0.2 x 1,704,934 ops/sec ±1.58% (88 runs sampled) ✓ fast.lastIndexOf() v0.0.2 x 1,434,044 ops/sec ±1.34% (97 runs sampled) | |
| ✓ underscore.lastIndexOf() x 271,944 ops/sec ±2.11% (84 runs sampled) ✓ underscore.lastIndexOf() x 1,059,646 ops/sec ±1.57% (95 runs sampled) | |
| ✓ lodash.lastIndexOf() x 161,394 ops/sec ±1.76% (86 runs sampled) ✓ lodash.lastIndexOf() x 150,606 ops/sec ±1.07% (90 runs sampled) | |
| Result: fast.js is 58.1% slower than Array::lastIndexOf(). Result: fast.js is 8.99% faster than Array::lastIndexOf(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .bind() vs fast.bind() Native .bind() vs fast.bind() | |
| ✓ Function::bind() x 24,309,886 ops/sec ±2.08% (84 runs sampled) ✓ Function::bind() x 22,061,589 ops/sec ±1.91% (90 runs sampled) | |
| ✓ fast.bind() x 8,682,183 ops/sec ±2.22% (87 runs sampled) ✓ fast.bind() x 8,607,143 ops/sec ±1.45% (90 runs sampled) | |
| ✓ fast.bind() v0.0.2 x 3,643,995 ops/sec ±2.00% (87 runs sampled) ✓ fast.bind() v0.0.2 x 7,256,482 ops/sec ±1.69% (89 runs sampled) | |
| ✓ underscore.bind() x 797,661 ops/sec ±2.97% (84 runs sampled) ✓ underscore.bind() x 2,765,432 ops/sec ±1.11% (92 runs sampled) | |
| ✓ lodash.bind() x 298,805 ops/sec ±2.37% (80 runs sampled) ✓ lodash.bind() x 425,829 ops/sec ±1.36% (89 runs sampled) | |
| Result: fast.js is 64.29% slower than Function::bind(). Result: fast.js is 60.99% slower than Function::bind(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .bind() vs fast.bind() with prebound functions Native .bind() vs fast.bind() with prebound functions | |
| ✓ Function::bind() x 42,740,586 ops/sec ±2.33% (81 runs sampled) ✓ Function::bind() x 71,615,415 ops/sec ±1.66% (85 runs sampled) | |
| ✓ fast.bind() x 32,864,558 ops/sec ±2.61% (83 runs sampled) ✓ fast.bind() x 32,779,301 ops/sec ±1.56% (88 runs sampled) | |
| ✓ fast.bind() v0.0.2 x 6,005,450 ops/sec ±2.10% (88 runs sampled) ✓ fast.bind() v0.0.2 x 24,248,674 ops/sec ±1.72% (90 runs sampled) | |
| ✓ underscore.bind() x 2,332,794 ops/sec ±1.80% (83 runs sampled) ✓ underscore.bind() x 5,220,660 ops/sec ±1.83% (88 runs sampled) | |
| ✓ lodash.bind() x 30,543,323 ops/sec ±2.62% (88 runs sampled) ✓ lodash.bind() x 31,607,435 ops/sec ±1.35% (88 runs sampled) | |
| Result: fast.js is 23.11% slower than Function::bind(). Result: fast.js is 54.23% slower than Function::bind(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .bind() vs fast.partial() Native .bind() vs fast.partial() | |
| ✓ Function::bind() x 27,258,921 ops/sec ±2.00% (83 runs sampled) ✓ Function::bind() x 32,615,531 ops/sec ±1.57% (89 runs sampled) | |
| ✓ fast.partial() x 8,902,222 ops/sec ±2.32% (86 runs sampled) ✓ fast.partial() x 8,862,642 ops/sec ±1.58% (88 runs sampled) | |
| ✓ fast.partial() v0.0.2 x 3,615,267 ops/sec ±2.19% (78 runs sampled) ✓ fast.partial() v0.0.2 x 7,517,778 ops/sec ±1.37% (92 runs sampled) | |
| ✓ fast.partial() v0.0.0 x 3,710,817 ops/sec ±2.12% (87 runs sampled) ✓ fast.partial() v0.0.0 x 7,485,141 ops/sec ±1.20% (90 runs sampled) | |
| ✓ underscore.partial() x 981,414 ops/sec ±2.18% (84 runs sampled) ✓ underscore.partial() x 5,192,796 ops/sec ±1.75% (92 runs sampled) | |
| ✓ lodash.partial() x 386,247 ops/sec ±2.20% (84 runs sampled) ✓ lodash.partial() x 552,553 ops/sec ±1.94% (93 runs sampled) | |
| Result: fast.js is 67.34% slower than Function::bind(). Result: fast.js is 72.83% slower than Function::bind(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .bind() vs fast.partial() with prebound functions Native .bind() vs fast.partial() with prebound functions | |
| ✓ Function::bind() x 42,101,985 ops/sec ±2.08% (84 runs sampled) ✓ Function::bind() x 72,185,253 ops/sec ±2.08% (88 runs sampled) | |
| ✓ fast.partial() x 34,041,891 ops/sec ±1.94% (86 runs sampled) ✓ fast.partial() x 32,894,955 ops/sec ±1.65% (92 runs sampled) | |
| ✓ fast.partial() v0.0.2 x 6,011,297 ops/sec ±1.94% (84 runs sampled) ✓ fast.partial() v0.0.2 x 23,947,165 ops/sec ±1.73% (89 runs sampled) | |
| ✓ fast.partial() v0.0.0 x 6,070,487 ops/sec ±2.05% (85 runs sampled) ✓ fast.partial() v0.0.0 x 24,269,304 ops/sec ±1.54% (92 runs sampled) | |
| ✓ underscore.partial() x 2,969,970 ops/sec ±1.59% (86 runs sampled) ✓ underscore.partial() x 10,244,324 ops/sec ±1.41% (92 runs sampled) | |
| ✓ lodash.partial() x 30,645,720 ops/sec ±2.20% (85 runs sampled) ✓ lodash.partial() x 31,738,080 ops/sec ±1.30% (90 runs sampled) | |
| Result: fast.js is 19.14% slower than Function::bind(). Result: fast.js is 54.43% slower than Function::bind(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .map() vs fast.map() (3 items) Native .map() vs fast.map() (3 items) | |
| ✓ Array::map() x 3,583,454 ops/sec ±1.87% (87 runs sampled) ✓ Array::map() x 9,731,563 ops/sec ±1.37% (92 runs sampled) | |
| ✓ fast.map() x 16,718,503 ops/sec ±1.94% (86 runs sampled) ✓ fast.map() x 12,328,634 ops/sec ±1.25% (94 runs sampled) | |
| ✓ fast.map() v0.0.2a x 14,261,101 ops/sec ±1.97% (88 runs sampled) ✓ fast.map() v0.0.2a x 11,553,893 ops/sec ±1.23% (87 runs sampled) | |
| ✓ fast.map() v0.0.1 x 14,193,318 ops/sec ±1.81% (86 runs sampled) ✓ fast.map() v0.0.1 x 11,225,557 ops/sec ±1.75% (94 runs sampled) | |
| ✓ fast.map() v0.0.0 x 17,288,308 ops/sec ±2.21% (81 runs sampled) ✓ fast.map() v0.0.0 x 12,280,867 ops/sec ±1.35% (88 runs sampled) | |
| ✓ underscore.map() x 7,305,912 ops/sec ±2.00% (87 runs sampled) ✓ underscore.map() x 10,164,229 ops/sec ±2.04% (91 runs sampled) | |
| ✓ lodash.map() x 14,079,337 ops/sec ±1.89% (86 runs sampled) ✓ lodash.map() x 7,013,387 ops/sec ±1.25% (95 runs sampled) | |
| Result: fast.js is 366.55% faster than Array::map(). Result: fast.js is 26.69% faster than Array::map(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .map() vs fast.map() (10 items) Native .map() vs fast.map() (10 items) | |
| ✓ Array::map() x 1,309,504 ops/sec ±1.42% (91 runs sampled) ✓ Array::map() x 4,208,141 ops/sec ±1.22% (93 runs sampled) | |
| ✓ fast.map() x 6,242,456 ops/sec ±1.57% (89 runs sampled) ✓ fast.map() x 4,727,227 ops/sec ±2.76% (90 runs sampled) | |
| ✓ fast.map() v0.0.2a x 5,597,336 ops/sec ±1.92% (85 runs sampled) ✓ fast.map() v0.0.2a x 4,694,060 ops/sec ±1.36% (90 runs sampled) | |
| ✓ fast.map() v0.0.1 x 5,543,511 ops/sec ±2.15% (85 runs sampled) ✓ fast.map() v0.0.1 x 4,705,995 ops/sec ±1.58% (91 runs sampled) | |
| ✓ fast.map() v0.0.0 x 6,139,148 ops/sec ±1.97% (83 runs sampled) ✓ fast.map() v0.0.0 x 4,772,529 ops/sec ±1.27% (91 runs sampled) | |
| ✓ underscore.map() x 4,010,644 ops/sec ±2.52% (86 runs sampled) ✓ underscore.map() x 4,605,293 ops/sec ±1.32% (93 runs sampled) | |
| ✓ lodash.map() x 5,655,688 ops/sec ±2.17% (82 runs sampled) ✓ lodash.map() x 3,542,487 ops/sec ±1.62% (93 runs sampled) | |
| Result: fast.js is 376.70% faster than Array::map(). Result: fast.js is 12.34% faster than Array::map(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .map() vs fast.map() (1000 items) Native .map() vs fast.map() (1000 items) | |
| ✓ Array::map() x 13,743 ops/sec ±1.80% (87 runs sampled) ✓ Array::map() x 52,426 ops/sec ±1.36% (91 runs sampled) | |
| ✓ fast.map() x 72,122 ops/sec ±2.31% (85 runs sampled) ✓ fast.map() x 58,504 ops/sec ±1.67% (94 runs sampled) | |
| ✓ fast.map() v0.0.2a x 69,078 ops/sec ±2.19% (82 runs sampled) ✓ fast.map() v0.0.2a x 57,693 ops/sec ±1.58% (90 runs sampled) | |
| ✓ fast.map() v0.0.1 x 70,614 ops/sec ±2.24% (89 runs sampled) ✓ fast.map() v0.0.1 x 57,556 ops/sec ±1.54% (93 runs sampled) | |
| ✓ fast.map() v0.0.0 x 71,178 ops/sec ±2.31% (82 runs sampled) ✓ fast.map() v0.0.0 x 58,775 ops/sec ±1.27% (91 runs sampled) | |
| ✓ underscore.map() x 69,114 ops/sec ±2.29% (85 runs sampled) ✓ underscore.map() x 60,912 ops/sec ±0.97% (95 runs sampled) | |
| ✓ lodash.map() x 68,158 ops/sec ±2.61% (83 runs sampled) ✓ lodash.map() x 56,584 ops/sec ±1.36% (95 runs sampled) | |
| Result: fast.js is 424.79% faster than Array::map(). Result: fast.js is 11.59% faster than Array::map(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .filter() vs fast.filter() (3 items) Native .filter() vs fast.filter() (3 items) | |
| ✓ Array::filter() x 2,687,974 ops/sec ±1.89% (89 runs sampled) ✓ Array::filter() x 7,065,353 ops/sec ±1.22% (91 runs sampled) | |
| ✓ fast.filter() x 9,718,543 ops/sec ±2.32% (86 runs sampled) ✓ fast.filter() x 9,070,982 ops/sec ±1.70% (92 runs sampled) | |
| ✓ underscore.filter() x 3,703,718 ops/sec ±2.23% (80 runs sampled) ✓ underscore.filter() x 5,140,215 ops/sec ±1.24% (92 runs sampled) | |
| ✓ lodash.filter() x 8,776,202 ops/sec ±2.34% (85 runs sampled) ✓ lodash.filter() x 8,688,789 ops/sec ±1.77% (92 runs sampled) | |
| Result: fast.js is 261.56% faster than Array::filter(). Result: fast.js is 28.39% faster than Array::filter(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .filter() vs fast.filter() (10 items) Native .filter() vs fast.filter() (10 items) | |
| ✓ Array::filter() x 960,911 ops/sec ±1.89% (89 runs sampled) ✓ Array::filter() x 2,815,940 ops/sec ±1.04% (95 runs sampled) | |
| ✓ fast.filter() x 3,671,851 ops/sec ±1.67% (89 runs sampled) ✓ fast.filter() x 3,696,307 ops/sec ±1.09% (93 runs sampled) | |
| ✓ underscore.filter() x 2,081,775 ops/sec ±1.82% (88 runs sampled) ✓ underscore.filter() x 2,605,165 ops/sec ±1.65% (91 runs sampled) | |
| ✓ lodash.filter() x 3,378,668 ops/sec ±1.91% (87 runs sampled) ✓ lodash.filter() x 3,634,600 ops/sec ±1.63% (96 runs sampled) | |
| Result: fast.js is 282.12% faster than Array::filter(). Result: fast.js is 31.26% faster than Array::filter(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .filter() vs fast.filter() (1000 items) Native .filter() vs fast.filter() (1000 items) | |
| ✓ Array::filter() x 9,631 ops/sec ±1.70% (89 runs sampled) ✓ Array::filter() x 30,216 ops/sec ±1.15% (93 runs sampled) | |
| ✓ fast.filter() x 21,543 ops/sec ±1.62% (91 runs sampled) ✓ fast.filter() x 40,029 ops/sec ±1.11% (93 runs sampled) | |
| ✓ underscore.filter() x 21,309 ops/sec ±1.39% (94 runs sampled) ✓ underscore.filter() x 33,927 ops/sec ±1.17% (92 runs sampled) | |
| ✓ lodash.filter() x 23,060 ops/sec ±1.19% (92 runs sampled) ✓ lodash.filter() x 38,731 ops/sec ±1.42% (89 runs sampled) | |
| Result: fast.js is 123.68% faster than Array::filter(). Result: fast.js is 32.48% faster than Array::filter(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .reduce() vs fast.reduce() (3 items) Native .reduce() vs fast.reduce() (3 items) | |
| ✓ Array::reduce() x 15,683,748 ops/sec ±1.47% (94 runs sampled) ✓ Array::reduce() x 11,448,123 ops/sec ±1.27% (91 runs sampled) | |
| ✓ fast.reduce() x 19,822,337 ops/sec ±1.43% (94 runs sampled) ✓ fast.reduce() x 14,271,668 ops/sec ±1.82% (90 runs sampled) | |
| ✓ fast.reduce() v0.0.2c x 7,798,030 ops/sec ±1.52% (88 runs sampled) ✓ fast.reduce() v0.0.2c x 7,268,824 ops/sec ±1.43% (92 runs sampled) | |
| ✓ fast.reduce() v0.0.2b x 20,292,742 ops/sec ±1.40% (93 runs sampled) ✓ fast.reduce() v0.0.2b x 14,238,850 ops/sec ±1.51% (89 runs sampled) | |
| ✓ fast.reduce() v0.0.2a x 15,916,164 ops/sec ±2.12% (88 runs sampled) ✓ fast.reduce() v0.0.2a x 13,255,395 ops/sec ±1.55% (92 runs sampled) | |
| ✓ fast.reduce() v0.0.1 x 15,974,800 ops/sec ±1.71% (91 runs sampled) ✓ fast.reduce() v0.0.1 x 13,087,838 ops/sec ±1.57% (90 runs sampled) | |
| ✓ fast.reduce() v0.0.0 x 19,908,317 ops/sec ±1.29% (93 runs sampled) ✓ fast.reduce() v0.0.0 x 14,342,174 ops/sec ±1.37% (90 runs sampled) | |
| ✓ underscore.reduce() x 7,701,639 ops/sec ±1.24% (90 runs sampled) ✓ underscore.reduce() x 11,807,285 ops/sec ±1.31% (90 runs sampled) | |
| ✓ lodash.reduce() x 13,375,185 ops/sec ±1.60% (90 runs sampled) ✓ lodash.reduce() x 11,280,545 ops/sec ±2.15% (86 runs sampled) | |
| Result: fast.js is 26.39% faster than Array::reduce(). Result: fast.js is 24.66% faster than Array::reduce(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .reduce() vs fast.reduce() (10 items) Native .reduce() vs fast.reduce() (10 items) | |
| ✓ Array::reduce() x 5,532,866 ops/sec ±1.58% (91 runs sampled) ✓ Array::reduce() x 4,777,570 ops/sec ±1.23% (94 runs sampled) | |
| ✓ fast.reduce() x 6,849,642 ops/sec ±1.38% (91 runs sampled) ✓ fast.reduce() x 5,332,362 ops/sec ±1.45% (92 runs sampled) | |
| ✓ fast.reduce() v0.0.2c x 3,784,572 ops/sec ±1.22% (88 runs sampled) ✓ fast.reduce() v0.0.2c x 3,440,715 ops/sec ±1.25% (93 runs sampled) | |
| ✓ fast.reduce() v0.0.2b x 6,901,023 ops/sec ±1.51% (93 runs sampled) ✓ fast.reduce() v0.0.2b x 5,413,510 ops/sec ±1.67% (92 runs sampled) | |
| ✓ fast.reduce() v0.0.2a x 6,270,986 ops/sec ±1.58% (89 runs sampled) ✓ fast.reduce() v0.0.2a x 5,240,041 ops/sec ±1.16% (90 runs sampled) | |
| ✓ fast.reduce() v0.0.1 x 6,238,397 ops/sec ±1.62% (92 runs sampled) ✓ fast.reduce() v0.0.1 x 5,255,562 ops/sec ±1.29% (96 runs sampled) | |
| ✓ fast.reduce() v0.0.0 x 6,713,360 ops/sec ±1.53% (90 runs sampled) ✓ fast.reduce() v0.0.0 x 5,354,019 ops/sec ±1.83% (89 runs sampled) | |
| ✓ underscore.reduce() x 4,256,639 ops/sec ±1.86% (93 runs sampled) ✓ underscore.reduce() x 5,109,578 ops/sec ±1.26% (92 runs sampled) | |
| ✓ lodash.reduce() x 5,709,902 ops/sec ±1.44% (89 runs sampled) ✓ lodash.reduce() x 5,073,609 ops/sec ±1.41% (90 runs sampled) | |
| Result: fast.js is 23.80% faster than Array::reduce(). Result: fast.js is 11.61% faster than Array::reduce(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .reduce() vs fast.reduce() (1000 items) Native .reduce() vs fast.reduce() (1000 items) | |
| ✓ Array::reduce() x 65,412 ops/sec ±1.86% (90 runs sampled) ✓ Array::reduce() x 61,434 ops/sec ±1.23% (90 runs sampled) | |
| ✓ fast.reduce() x 76,379 ops/sec ±2.05% (87 runs sampled) ✓ fast.reduce() x 67,475 ops/sec ±1.56% (94 runs sampled) | |
| ✓ fast.reduce() v0.0.2c x 56,781 ops/sec ±1.78% (86 runs sampled) ✓ fast.reduce() v0.0.2c x 50,492 ops/sec ±0.99% (92 runs sampled) | |
| ✓ fast.reduce() v0.0.2b x 76,614 ops/sec ±1.81% (87 runs sampled) ✓ fast.reduce() v0.0.2b x 67,793 ops/sec ±1.89% (94 runs sampled) | |
| ✓ fast.reduce() v0.0.2a x 76,444 ops/sec ±1.99% (87 runs sampled) ✓ fast.reduce() v0.0.2a x 65,725 ops/sec ±1.15% (91 runs sampled) | |
| ✓ fast.reduce() v0.0.1 x 76,110 ops/sec ±2.26% (87 runs sampled) ✓ fast.reduce() v0.0.1 x 65,443 ops/sec ±1.47% (95 runs sampled) | |
| ✓ fast.reduce() v0.0.0 x 75,159 ops/sec ±2.35% (88 runs sampled) ✓ fast.reduce() v0.0.0 x 67,457 ops/sec ±1.18% (93 runs sampled) | |
| ✓ underscore.reduce() x 73,039 ops/sec ±1.95% (88 runs sampled) ✓ underscore.reduce() x 64,837 ops/sec ±1.86% (90 runs sampled) | |
| ✓ lodash.reduce() x 73,019 ops/sec ±2.11% (88 runs sampled) ✓ lodash.reduce() x 66,354 ops/sec ±1.01% (91 runs sampled) | |
| Result: fast.js is 16.77% faster than Array::reduce(). Result: fast.js is 9.83% faster than Array::reduce(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .reduceRight() vs fast.reduceRight() (3 items) Native .reduceRight() vs fast.reduceRight() (3 items) | |
| ✓ Array::reduceRight() x 15,471,963 ops/sec ±1.53% (86 runs sampled) ✓ Array::reduceRight() x 5,050,268 ops/sec ±1.41% (90 runs sampled) | |
| ✓ fast.reduceRight() x 19,032,688 ops/sec ±1.83% (86 runs sampled) ✓ fast.reduceRight() x 14,434,220 ops/sec ±1.23% (91 runs sampled) | |
| ✓ underscore.reduceRight() x 7,094,341 ops/sec ±2.21% (85 runs sampled) ✓ underscore.reduceRight() x 11,518,781 ops/sec ±1.60% (89 runs sampled) | |
| ✓ lodash.reduceRight() x 13,209,136 ops/sec ±2.48% (82 runs sampled) ✓ lodash.reduceRight() x 11,960,748 ops/sec ±1.35% (90 runs sampled) | |
| Result: fast.js is 23.01% faster than Array::reduceRight(). Result: fast.js is 185.81% faster than Array::reduceRight(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .reduceRight() vs fast.reduceRight() (10 items) Native .reduceRight() vs fast.reduceRight() (10 items) | |
| ✓ Array::reduceRight() x 5,446,631 ops/sec ±1.96% (88 runs sampled) ✓ Array::reduceRight() x 1,891,332 ops/sec ±1.46% (95 runs sampled) | |
| ✓ fast.reduceRight() x 6,560,161 ops/sec ±2.04% (86 runs sampled) ✓ fast.reduceRight() x 5,439,232 ops/sec ±1.61% (93 runs sampled) | |
| ✓ underscore.reduceRight() x 3,985,044 ops/sec ±1.90% (87 runs sampled) ✓ underscore.reduceRight() x 5,137,310 ops/sec ±1.11% (94 runs sampled) | |
| ✓ lodash.reduceRight() x 5,583,454 ops/sec ±1.87% (82 runs sampled) ✓ lodash.reduceRight() x 5,042,319 ops/sec ±1.40% (92 runs sampled) | |
| Result: fast.js is 20.44% faster than Array::reduceRight(). Result: fast.js is 187.59% faster than Array::reduceRight(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .reduceRight() vs fast.reduceRight() (1000 items) Native .reduceRight() vs fast.reduceRight() (1000 items) | |
| ✓ Array::reduceRight() x 64,697 ops/sec ±1.93% (87 runs sampled) ✓ Array::reduceRight() x 21,957 ops/sec ±1.61% (93 runs sampled) | |
| ✓ fast.reduceRight() x 75,254 ops/sec ±2.07% (84 runs sampled) ✓ fast.reduceRight() x 68,003 ops/sec ±1.36% (92 runs sampled) | |
| ✓ underscore.reduceRight() x 69,989 ops/sec ±2.11% (86 runs sampled) ✓ underscore.reduceRight() x 65,353 ops/sec ±1.71% (92 runs sampled) | |
| ✓ lodash.reduceRight() x 72,622 ops/sec ±1.90% (83 runs sampled) ✓ lodash.reduceRight() x 66,053 ops/sec ±1.46% (93 runs sampled) | |
| Result: fast.js is 16.32% faster than Array::reduceRight(). Result: fast.js is 209.71% faster than Array::reduceRight(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .forEach() vs fast.forEach() (3 items) Native .forEach() vs fast.forEach() (3 items) | |
| ✓ Array::forEach() x 14,740,906 ops/sec ±1.64% (86 runs sampled) ✓ Array::forEach() x 18,862,011 ops/sec ±1.42% (90 runs sampled) | |
| ✓ fast.forEach() x 20,231,027 ops/sec ±1.48% (91 runs sampled) ✓ fast.forEach() x 25,753,246 ops/sec ±2.92% (90 runs sampled) | |
| ✓ fast.forEach() v0.0.2a x 16,151,689 ops/sec ±1.89% (89 runs sampled) ✓ fast.forEach() v0.0.2a x 23,302,716 ops/sec ±1.35% (94 runs sampled) | |
| ✓ fast.forEach() v0.0.1 x 15,639,447 ops/sec ±2.49% (87 runs sampled) ✓ fast.forEach() v0.0.1 x 22,987,411 ops/sec ±1.26% (90 runs sampled) | |
| ✓ fast.forEach() v0.0.0 x 20,087,959 ops/sec ±1.65% (85 runs sampled) ✓ fast.forEach() v0.0.0 x 25,803,050 ops/sec ±1.89% (88 runs sampled) | |
| ✓ underscore.forEach() x 8,585,706 ops/sec ±1.56% (88 runs sampled) ✓ underscore.forEach() x 19,296,649 ops/sec ±1.27% (89 runs sampled) | |
| ✓ lodash.forEach() x 15,508,451 ops/sec ±1.51% (89 runs sampled) ✓ lodash.forEach() x 23,522,116 ops/sec ±1.89% (86 runs sampled) | |
| Result: fast.js is 37.24% faster than Array::forEach(). Result: fast.js is 36.53% faster than Array::forEach(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .forEach() vs fast.forEach() (10 items) Native .forEach() vs fast.forEach() (10 items) | |
| ✓ Array::forEach() x 5,804,968 ops/sec ±1.55% (92 runs sampled) ✓ Array::forEach() x 7,889,785 ops/sec ±1.01% (93 runs sampled) | |
| ✓ fast.forEach() x 7,111,228 ops/sec ±1.74% (85 runs sampled) ✓ fast.forEach() x 10,107,339 ops/sec ±1.40% (94 runs sampled) | |
| ✓ fast.forEach() v0.0.2a x 6,716,808 ops/sec ±1.78% (88 runs sampled) ✓ fast.forEach() v0.0.2a x 9,651,211 ops/sec ±1.03% (93 runs sampled) | |
| ✓ fast.forEach() v0.0.1 x 6,534,500 ops/sec ±1.62% (90 runs sampled) ✓ fast.forEach() v0.0.1 x 9,342,417 ops/sec ±1.46% (93 runs sampled) | |
| ✓ fast.forEach() v0.0.0 x 7,056,910 ops/sec ±1.76% (88 runs sampled) ✓ fast.forEach() v0.0.0 x 9,865,653 ops/sec ±1.27% (93 runs sampled) | |
| ✓ underscore.forEach() x 4,891,206 ops/sec ±1.65% (91 runs sampled) ✓ underscore.forEach() x 9,068,915 ops/sec ±1.85% (89 runs sampled) | |
| ✓ lodash.forEach() x 6,467,729 ops/sec ±1.38% (90 runs sampled) ✓ lodash.forEach() x 9,623,522 ops/sec ±1.74% (86 runs sampled) | |
| Result: fast.js is 22.50% faster than Array::forEach(). Result: fast.js is 28.11% faster than Array::forEach(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .forEach() vs fast.forEach() (1000 items) Native .forEach() vs fast.forEach() (1000 items) | |
| ✓ Array::forEach() x 69,559 ops/sec ±1.49% (89 runs sampled) ✓ Array::forEach() x 120,477 ops/sec ±1.15% (93 runs sampled) | |
| ✓ fast.forEach() x 86,783 ops/sec ±1.58% (87 runs sampled) ✓ fast.forEach() x 147,126 ops/sec ±1.64% (93 runs sampled) | |
| ✓ fast.forEach() v0.0.2a x 87,945 ops/sec ±1.35% (93 runs sampled) ✓ fast.forEach() v0.0.2a x 137,031 ops/sec ±1.14% (94 runs sampled) | |
| ✓ fast.forEach() v0.0.1 x 87,507 ops/sec ±1.31% (93 runs sampled) ✓ fast.forEach() v0.0.1 x 137,996 ops/sec ±0.94% (97 runs sampled) | |
| ✓ fast.forEach() v0.0.0 x 85,654 ops/sec ±1.33% (94 runs sampled) ✓ fast.forEach() v0.0.0 x 141,819 ops/sec ±1.36% (91 runs sampled) | |
| ✓ underscore.forEach() x 85,929 ops/sec ±1.49% (92 runs sampled) ✓ underscore.forEach() x 145,858 ops/sec ±1.15% (89 runs sampled) | |
| ✓ lodash.forEach() x 82,688 ops/sec ±1.58% (89 runs sampled) ✓ lodash.forEach() x 147,122 ops/sec ±1.34% (94 runs sampled) | |
| Result: fast.js is 24.76% faster than Array::forEach(). Result: fast.js is 22.12% faster than Array::forEach(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .some() vs fast.some() (3 items) Native .some() vs fast.some() (3 items) | |
| ✓ Array::some() x 20,074,883 ops/sec ±1.74% (88 runs sampled) ✓ Array::some() x 19,198,053 ops/sec ±1.19% (90 runs sampled) | |
| ✓ fast.some() x 31,082,981 ops/sec ±1.54% (90 runs sampled) ✓ fast.some() x 26,284,590 ops/sec ±1.69% (92 runs sampled) | |
| ✓ underscore.some() x 9,413,222 ops/sec ±1.86% (86 runs sampled) ✓ underscore.some() x 18,364,982 ops/sec ±2.12% (86 runs sampled) | |
| ✓ lodash.some() x 22,008,017 ops/sec ±1.65% (93 runs sampled) ✓ lodash.some() x 23,982,422 ops/sec ±1.58% (91 runs sampled) | |
| Result: fast.js is 54.84% faster than Array::some(). Result: fast.js is 36.91% faster than Array::some(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .some() vs fast.some() (10 items) Native .some() vs fast.some() (10 items) | |
| ✓ Array::some() x 7,954,257 ops/sec ±1.54% (92 runs sampled) ✓ Array::some() x 7,926,110 ops/sec ±1.10% (94 runs sampled) | |
| ✓ fast.some() x 10,667,149 ops/sec ±1.54% (90 runs sampled) ✓ fast.some() x 10,346,215 ops/sec ±1.48% (94 runs sampled) | |
| ✓ underscore.some() x 5,746,952 ops/sec ±2.06% (84 runs sampled) ✓ underscore.some() x 9,236,409 ops/sec ±1.18% (94 runs sampled) | |
| ✓ lodash.some() x 8,976,092 ops/sec ±1.54% (93 runs sampled) ✓ lodash.some() x 9,866,959 ops/sec ±1.06% (92 runs sampled) | |
| Result: fast.js is 34.11% faster than Array::some(). Result: fast.js is 30.53% faster than Array::some(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .some() vs fast.some() (1000 items) Native .some() vs fast.some() (1000 items) | |
| ✓ Array::some() x 100,583 ops/sec ±1.63% (91 runs sampled) ✓ Array::some() x 121,734 ops/sec ±1.55% (89 runs sampled) | |
| ✓ fast.some() x 140,753 ops/sec ±1.36% (92 runs sampled) ✓ fast.some() x 148,890 ops/sec ±1.06% (95 runs sampled) | |
| ✓ underscore.some() x 138,410 ops/sec ±1.10% (95 runs sampled) ✓ underscore.some() x 148,171 ops/sec ±1.40% (94 runs sampled) | |
| ✓ lodash.some() x 142,151 ops/sec ±1.12% (94 runs sampled) ✓ lodash.some() x 146,299 ops/sec ±1.39% (94 runs sampled) | |
| Result: fast.js is 39.94% faster than Array::some(). Result: fast.js is 22.31% faster than Array::some(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .every() vs fast.every() (3 items) Native .every() vs fast.every() (3 items) | |
| ✓ Array::every() x 20,280,775 ops/sec ±1.11% (91 runs sampled) ✓ Array::every() x 18,887,683 ops/sec ±1.57% (92 runs sampled) | |
| ✓ fast.every() x 31,508,597 ops/sec ±1.17% (95 runs sampled) ✓ fast.every() x 25,809,585 ops/sec ±1.41% (90 runs sampled) | |
| ✓ underscore.every() x 9,786,359 ops/sec ±1.36% (92 runs sampled) ✓ underscore.every() x 17,607,414 ops/sec ±2.14% (87 runs sampled) | |
| ✓ lodash.every() x 22,179,393 ops/sec ±1.27% (95 runs sampled) ✓ lodash.every() x 23,567,702 ops/sec ±1.42% (90 runs sampled) | |
| Result: fast.js is 55.36% faster than Array::every(). Result: fast.js is 36.65% faster than Array::every(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .every() vs fast.every() (10 items) Native .every() vs fast.every() (10 items) | |
| ✓ Array::every() x 7,811,186 ops/sec ±1.46% (92 runs sampled) ✓ Array::every() x 8,022,308 ops/sec ±1.11% (94 runs sampled) | |
| ✓ fast.every() x 10,933,871 ops/sec ±1.63% (90 runs sampled) ✓ fast.every() x 9,553,291 ops/sec ±1.37% (93 runs sampled) | |
| ✓ underscore.every() x 5,858,038 ops/sec ±1.82% (88 runs sampled) ✓ underscore.every() x 8,536,085 ops/sec ±1.33% (92 runs sampled) | |
| ✓ lodash.every() x 9,381,752 ops/sec ±1.70% (90 runs sampled) ✓ lodash.every() x 9,302,267 ops/sec ±1.59% (92 runs sampled) | |
| Result: fast.js is 39.98% faster than Array::every(). Result: fast.js is 19.08% faster than Array::every(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .every() vs fast.every() (1000 items) Native .every() vs fast.every() (1000 items) | |
| ✓ Array::every() x 100,687 ops/sec ±1.76% (85 runs sampled) ✓ Array::every() x 121,815 ops/sec ±0.98% (94 runs sampled) | |
| ✓ fast.every() x 140,693 ops/sec ±1.58% (88 runs sampled) ✓ fast.every() x 143,333 ops/sec ±1.87% (90 runs sampled) | |
| ✓ underscore.every() x 137,180 ops/sec ±1.70% (90 runs sampled) ✓ underscore.every() x 144,407 ops/sec ±1.28% (93 runs sampled) | |
| ✓ lodash.every() x 141,884 ops/sec ±1.75% (92 runs sampled) ✓ lodash.every() x 141,416 ops/sec ±1.45% (94 runs sampled) | |
| Result: fast.js is 39.73% faster than Array::every(). Result: fast.js is 17.66% faster than Array::every(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .concat() vs fast.concat() (3 items) Native .concat() vs fast.concat() (3 items) | |
| ✓ Array::concat() x 3,612,985 ops/sec ±1.95% (89 runs sampled) ✓ Array::concat() x 3,469,291 ops/sec ±1.30% (94 runs sampled) | |
| ✓ fast.concat() x 14,988,334 ops/sec ±2.57% (85 runs sampled) ✓ fast.concat() x 16,645,128 ops/sec ±1.36% (92 runs sampled) | |
| Result: fast.js is 314.85% faster than Array::concat(). Result: fast.js is 379.78% faster than Array::concat(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .concat() vs fast.concat() (10 items) Native .concat() vs fast.concat() (10 items) | |
| ✓ Array::concat() x 2,614,419 ops/sec ±2.21% (83 runs sampled) ✓ Array::concat() x 2,627,050 ops/sec ±1.54% (91 runs sampled) | |
| ✓ fast.concat() x 7,832,480 ops/sec ±2.19% (79 runs sampled) ✓ fast.concat() x 9,218,335 ops/sec ±1.60% (93 runs sampled) | |
| Result: fast.js is 199.59% faster than Array::concat(). Result: fast.js is 250.90% faster than Array::concat(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .concat() vs fast.concat() (1000 items) Native .concat() vs fast.concat() (1000 items) | |
| ✓ Array::concat() x 796,891 ops/sec ±2.76% (80 runs sampled) ✓ Array::concat() x 636,791 ops/sec ±1.30% (92 runs sampled) | |
| ✓ fast.concat() x 210,447 ops/sec ±2.03% (84 runs sampled) ✓ fast.concat() x 247,232 ops/sec ±1.08% (95 runs sampled) | |
| Result: fast.js is 73.59% slower than Array::concat(). Result: fast.js is 61.18% slower than Array::concat(). | |
| Node.js version 7.9, Apr. 2017 Node.js version 9.9, Mar. 2018 | |
| Native .concat() vs fast.concat() (1000 items, using apply) Native .concat() vs fast.concat() (1000 items, using apply) | |
| ✓ Array::concat() x 95,388 ops/sec ±2.02% (86 runs sampled) ✓ Array::concat() x 89,067 ops/sec ±1.29% (94 runs sampled) | |
| ✓ fast.concat() x 132,932 ops/sec ±1.89% (86 runs sampled) ✓ fast.concat() x 181,502 ops/sec ±2.24% (91 runs sampled) | |
| Result: fast.js is 39.36% faster than Array::concat(). Result: fast.js is 103.78% faster than Array::concat(). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment