Skip to content

Instantly share code, notes, and snippets.

@as-com
Created April 19, 2016 12:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save as-com/5056d7a9885a84469ed1eec8a9352908 to your computer and use it in GitHub Desktop.
Save as-com/5056d7a9885a84469ed1eec8a9352908 to your computer and use it in GitHub Desktop.
fast.js benchmarks, node 5.10.1
> fast.js@0.1.1 bench /Users/andrew/Documents/fast.js
> node ./bench/index.js
Running 55 benchmarks, please wait...
Native .fill() vs fast.fill() (3 items)
✓ Array.prototype.fill() x 9,988,493 ops/sec ±1.55% (87 runs sampled)
✓ fast.fill() x 39,712,880 ops/sec ±1.70% (88 runs sampled)
Result: fast.js is 297.59% faster than Array.prototype.fill().
Native .fill() vs fast.fill() (10 items)
✓ Array.prototype.fill() x 9,886,607 ops/sec ±2.17% (89 runs sampled)
✓ fast.fill() x 16,512,563 ops/sec ±2.37% (83 runs sampled)
Result: fast.js is 67.02% faster than Array.prototype.fill().
Native .fill() vs fast.fill() (1000 items)
✓ Array.prototype.fill() x 304,371 ops/sec ±1.60% (89 runs sampled)
✓ fast.fill() x 294,618 ops/sec ±1.33% (94 runs sampled)
Result: fast.js is 3.2% slower than Array.prototype.fill().
Native .reduce() plucker vs fast.pluck()
✓ Native Array::reduce() plucker x 269,494 ops/sec ±2.00% (89 runs sampled)
✓ fast.pluck() x 377,003 ops/sec ±2.10% (83 runs sampled)
✓ underscore.pluck() x 340,761 ops/sec ±0.93% (89 runs sampled)
✓ lodash.pluck():
Result: fast.js is 39.89% faster than Native Array::reduce() plucker.
Native Object.keys().map() value extractor vs fast.values()
✓ Native Object.keys().map() x 1,206,601 ops/sec ±0.88% (94 runs sampled)
✓ fast.values() x 3,311,805 ops/sec ±0.76% (91 runs sampled)
✓ underscore.values() x 3,192,554 ops/sec ±0.89% (97 runs sampled)
✓ lodash.values() x 1,282,263 ops/sec ±2.42% (85 runs sampled)
Result: fast.js is 174.47% faster than Native Object.keys().map().
Object.assign() vs fast.assign()
✓ Object.assign() x 92,786 ops/sec ±2.56% (86 runs sampled)
✓ fast.assign() x 99,012 ops/sec ±2.72% (83 runs sampled)
✓ fast.assign() v0.0.4c x 158,029 ops/sec ±4.12% (84 runs sampled)
✓ fast.assign() v0.0.4b x 124,654 ops/sec ±5.07% (79 runs sampled)
✓ lodash.assign() x 86,314 ops/sec ±5.39% (77 runs sampled)
Result: fast.js is 6.71% faster than Object.assign().
Object.assign() vs fast.assign() (3 arguments)
✓ Object.assign() x 28,364 ops/sec ±3.48% (82 runs sampled)
✓ fast.assign() x 32,807 ops/sec ±2.77% (84 runs sampled)
✓ fast.assign() v0.0.4c x 38,014 ops/sec ±2.90% (82 runs sampled)
✓ fast.assign() v0.0.4b x 35,688 ops/sec ±2.74% (83 runs sampled)
Result: fast.js is 15.66% faster than Object.assign().
Object.assign() vs fast.assign() (10 arguments)
✓ Object.assign() x 10,120 ops/sec ±3.02% (84 runs sampled)
✓ fast.assign() x 10,887 ops/sec ±3.20% (79 runs sampled)
✓ fast.assign() v0.0.4c x 12,963 ops/sec ±2.81% (78 runs sampled)
✓ fast.assign() v0.0.4b x 12,148 ops/sec ±2.86% (79 runs sampled)
Result: fast.js is 7.58% faster than Object.assign().
Native string comparison vs fast.intern() (short)
✓ Native comparison x 11,934,176 ops/sec ±1.64% (89 runs sampled)
✓ fast.intern() x 63,986,020 ops/sec ±1.00% (82 runs sampled)
Result: fast.js is 436.16% faster than Native comparison.
Native string comparison vs fast.intern() (medium)
✓ Native comparison x 7,443,854 ops/sec ±0.91% (94 runs sampled)
✓ fast.intern() x 64,016,156 ops/sec ±1.26% (91 runs sampled)
Result: fast.js is 759.99% faster than Native comparison.
Native string comparison vs fast.intern() (long)
✓ Native comparison x 164,460 ops/sec ±2.13% (94 runs sampled)
✓ fast.intern() x 65,955,890 ops/sec ±0.90% (93 runs sampled)
Result: fast.js is 40004.57% faster than Native comparison.
Native try {} catch (e) {} vs fast.try()
✓ try...catch x 136,117 ops/sec ±1.15% (93 runs sampled)
✓ fast.try() x 2,532,589 ops/sec ±0.71% (93 runs sampled)
Result: fast.js is 1760.59% faster than try...catch.
Native try {} catch (e) {} vs fast.try() (single function call)
✓ try...catch x 149,404 ops/sec ±1.08% (95 runs sampled)
✓ fast.try() x 3,097,576 ops/sec ±0.66% (92 runs sampled)
Result: fast.js is 1973.29% faster than try...catch.
Native .apply() vs fast.apply() (3 items, no context)
✓ Function::apply() x 11,473,511 ops/sec ±1.58% (93 runs sampled)
✓ fast.apply() x 20,766,792 ops/sec ±0.85% (90 runs sampled)
Result: fast.js is 81.00% faster than Function::apply().
Native .apply() vs fast.apply() (3 items, with context)
✓ Function::apply() x 11,112,577 ops/sec ±2.15% (93 runs sampled)
✓ fast.apply() x 19,967,868 ops/sec ±0.94% (91 runs sampled)
Result: fast.js is 79.69% faster than Function::apply().
Native .apply() vs fast.apply() (6 items, no context)
✓ Function::apply() x 11,046,074 ops/sec ±0.86% (92 runs sampled)
✓ fast.apply() x 21,443,793 ops/sec ±1.17% (93 runs sampled)
Result: fast.js is 94.13% faster than Function::apply().
Native .apply() vs fast.apply() (6 items, with context)
✓ Function::apply() x 8,356,505 ops/sec ±0.75% (94 runs sampled)
✓ fast.apply() x 16,876,517 ops/sec ±2.55% (91 runs sampled)
Result: fast.js is 101.96% faster than Function::apply().
Native .apply() vs fast.apply() (10 items, no context)
✓ Function::apply() x 6,677,501 ops/sec ±0.75% (95 runs sampled)
✓ fast.apply() x 6,073,650 ops/sec ±1.15% (94 runs sampled)
Result: fast.js is 9.04% slower than Function::apply().
Native .apply() vs fast.apply() (10 items, with context)
✓ Function::apply() x 6,115,359 ops/sec ±1.55% (89 runs sampled)
✓ fast.apply() x 5,860,724 ops/sec ±1.32% (92 runs sampled)
Result: fast.js is 4.16% slower than Function::apply().
fast.clone() vs underscore.clone() vs lodash.clone()
✓ fast.clone() x 2,342,158 ops/sec ±1.02% (93 runs sampled)
✓ underscore.clone() x 1,966,757 ops/sec ±1.44% (93 runs sampled)
✓ lodash.clone() x 238,586 ops/sec ±0.79% (95 runs sampled)
Result: fast.js is 881.68% faster than lodash.clone().
Native .indexOf() vs fast.indexOf() (3 items)
✓ Array::indexOf() x 7,984,379 ops/sec ±0.93% (94 runs sampled)
✓ fast.indexOf() x 25,192,113 ops/sec ±0.85% (94 runs sampled)
✓ fast.indexOf() v0.0.2 x 27,230,039 ops/sec ±0.96% (93 runs sampled)
✓ underscore.indexOf() x 10,778,218 ops/sec ±1.03% (93 runs sampled)
✓ lodash.indexOf() x 17,255,355 ops/sec ±0.84% (96 runs sampled)
Result: fast.js is 215.52% faster than Array::indexOf().
Native .indexOf() vs fast.indexOf() (10 items)
✓ Array::indexOf() x 6,352,822 ops/sec ±1.27% (95 runs sampled)
✓ fast.indexOf() x 15,250,527 ops/sec ±0.85% (95 runs sampled)
✓ fast.indexOf() v0.0.2 x 16,843,753 ops/sec ±0.96% (92 runs sampled)
✓ underscore.indexOf() x 8,204,197 ops/sec ±0.84% (92 runs sampled)
✓ lodash.indexOf() x 11,892,478 ops/sec ±1.09% (90 runs sampled)
Result: fast.js is 140.06% faster than Array::indexOf().
Native .indexOf() vs fast.indexOf() (1000 items)
✓ Array::indexOf() x 199,363 ops/sec ±1.00% (92 runs sampled)
✓ fast.indexOf() x 276,845 ops/sec ±0.80% (92 runs sampled)
✓ fast.indexOf() v0.0.2 x 380,674 ops/sec ±1.48% (92 runs sampled)
✓ underscore.indexOf() x 224,185 ops/sec ±0.77% (95 runs sampled)
✓ lodash.indexOf() x 297,775 ops/sec ±0.78% (95 runs sampled)
Result: fast.js is 38.86% faster than Array::indexOf().
Native .lastIndexOf() vs fast.lastIndexOf() (3 items)
✓ Array::lastIndexOf() x 61,595,449 ops/sec ±3.11% (87 runs sampled)
✓ fast.lastIndexOf() x 49,610,353 ops/sec ±2.43% (90 runs sampled)
✓ fast.lastIndexOf() v0.0.2 x 48,156,623 ops/sec ±3.52% (87 runs sampled)
✓ underscore.lastIndexOf() x 22,397,469 ops/sec ±2.67% (87 runs sampled)
✓ lodash.lastIndexOf() x 40,930,059 ops/sec ±0.93% (92 runs sampled)
Result: fast.js is 19.46% slower than Array::lastIndexOf().
Native .lastIndexOf() vs fast.lastIndexOf() (10 items)
✓ Array::lastIndexOf() x 41,665,743 ops/sec ±1.10% (93 runs sampled)
✓ fast.lastIndexOf() x 28,885,579 ops/sec ±0.74% (95 runs sampled)
✓ fast.lastIndexOf() v0.0.2 x 34,714,220 ops/sec ±0.92% (92 runs sampled)
✓ underscore.lastIndexOf() x 11,348,701 ops/sec ±1.23% (96 runs sampled)
✓ lodash.lastIndexOf() x 21,022,282 ops/sec ±0.93% (91 runs sampled)
Result: fast.js is 30.67% slower than Array::lastIndexOf().
Native .lastIndexOf() vs fast.lastIndexOf() (1000 items)
✓ Array::lastIndexOf() x 1,734,016 ops/sec ±1.05% (93 runs sampled)
✓ fast.lastIndexOf() x 641,018 ops/sec ±0.80% (89 runs sampled)
✓ fast.lastIndexOf() v0.0.2 x 1,008,499 ops/sec ±0.91% (93 runs sampled)
✓ underscore.lastIndexOf() x 435,853 ops/sec ±1.50% (92 runs sampled)
✓ lodash.lastIndexOf() x 570,088 ops/sec ±0.93% (94 runs sampled)
Result: fast.js is 63.03% slower than Array::lastIndexOf().
Native .bind() vs fast.bind()
✓ Function::bind() x 659,436 ops/sec ±1.05% (94 runs sampled)
✓ fast.bind() x 4,921,761 ops/sec ±1.82% (94 runs sampled)
✓ fast.bind() v0.0.2 x 3,800,785 ops/sec ±2.63% (89 runs sampled)
✓ underscore.bind() x 248,709 ops/sec ±2.36% (78 runs sampled)
✓ lodash.bind() x 1,239,039 ops/sec ±1.26% (95 runs sampled)
Result: fast.js is 646.36% faster than Function::bind().
Native .bind() vs fast.bind() with prebound functions
✓ Function::bind() x 2,236,867 ops/sec ±2.03% (93 runs sampled)
✓ fast.bind() x 13,125,366 ops/sec ±1.40% (89 runs sampled)
✓ fast.bind() v0.0.2 x 8,588,915 ops/sec ±1.31% (94 runs sampled)
✓ underscore.bind() x 2,816,351 ops/sec ±0.64% (96 runs sampled)
✓ lodash.bind() x 12,558,844 ops/sec ±1.08% (89 runs sampled)
Result: fast.js is 486.77% faster than Function::bind().
Native .bind() vs fast.partial()
✓ Function::bind() x 646,929 ops/sec ±1.18% (93 runs sampled)
✓ fast.partial() x 5,270,185 ops/sec ±0.60% (96 runs sampled)
✓ fast.partial() v0.0.2 x 4,016,532 ops/sec ±0.82% (95 runs sampled)
✓ fast.partial() v0.0.0 x 4,113,741 ops/sec ±0.73% (94 runs sampled)
✓ underscore.partial() x 283,767 ops/sec ±2.15% (87 runs sampled)
✓ lodash.partial() x 1,182,826 ops/sec ±1.42% (93 runs sampled)
Result: fast.js is 714.65% faster than Function::bind().
Native .bind() vs fast.partial() with prebound functions
✓ Function::bind() x 2,185,297 ops/sec ±1.92% (93 runs sampled)
✓ fast.partial() x 13,512,954 ops/sec ±0.81% (95 runs sampled)
✓ fast.partial() v0.0.2 x 8,660,183 ops/sec ±0.72% (96 runs sampled)
✓ fast.partial() v0.0.0 x 9,011,522 ops/sec ±0.94% (93 runs sampled)
✓ underscore.partial() x 6,026,494 ops/sec ±0.69% (95 runs sampled)
✓ lodash.partial() x 11,185,771 ops/sec ±6.60% (88 runs sampled)
Result: fast.js is 518.36% faster than Function::bind().
Native .map() vs fast.map() (3 items)
✓ Array::map() x 2,677,777 ops/sec ±5.67% (79 runs sampled)
✓ fast.map() x 7,200,351 ops/sec ±1.15% (95 runs sampled)
✓ fast.map() v0.0.2a x 6,441,156 ops/sec ±0.72% (93 runs sampled)
✓ fast.map() v0.0.1 x 6,424,741 ops/sec ±0.60% (95 runs sampled)
✓ fast.map() v0.0.0 x 7,265,666 ops/sec ±0.56% (95 runs sampled)
✓ underscore.map() x 5,321,823 ops/sec ±1.06% (94 runs sampled)
✓ lodash.map() x 6,494,751 ops/sec ±1.85% (93 runs sampled)
Result: fast.js is 168.89% faster than Array::map().
Native .map() vs fast.map() (10 items)
✓ Array::map() x 1,899,250 ops/sec ±0.71% (96 runs sampled)
✓ fast.map() x 2,922,548 ops/sec ±1.18% (92 runs sampled)
✓ fast.map() v0.0.2a x 2,836,724 ops/sec ±0.88% (97 runs sampled)
✓ fast.map() v0.0.1 x 2,810,182 ops/sec ±0.77% (95 runs sampled)
✓ fast.map() v0.0.0 x 2,932,469 ops/sec ±0.67% (97 runs sampled)
✓ underscore.map() x 2,510,720 ops/sec ±0.75% (97 runs sampled)
✓ lodash.map() x 2,822,138 ops/sec ±0.72% (94 runs sampled)
Result: fast.js is 53.88% faster than Array::map().
Native .map() vs fast.map() (1000 items)
✓ Array::map() x 30,474 ops/sec ±0.64% (100 runs sampled)
✓ fast.map() x 34,815 ops/sec ±0.86% (95 runs sampled)
✓ fast.map() v0.0.2a x 34,756 ops/sec ±1.08% (92 runs sampled)
✓ fast.map() v0.0.1 x 35,559 ops/sec ±0.67% (95 runs sampled)
✓ fast.map() v0.0.0 x 33,532 ops/sec ±1.02% (93 runs sampled)
✓ underscore.map() x 33,548 ops/sec ±1.05% (96 runs sampled)
✓ lodash.map() x 33,613 ops/sec ±2.54% (94 runs sampled)
Result: fast.js is 14.25% faster than Array::map().
Native .filter() vs fast.filter() (3 items)
✓ Array::filter() x 3,131,267 ops/sec ±0.79% (95 runs sampled)
✓ fast.filter() x 5,217,145 ops/sec ±1.36% (94 runs sampled)
✓ underscore.filter() x 2,880,755 ops/sec ±0.73% (93 runs sampled)
✓ lodash.filter() x 4,870,807 ops/sec ±1.72% (93 runs sampled)
Result: fast.js is 66.61% faster than Array::filter().
Native .filter() vs fast.filter() (10 items)
✓ Array::filter() x 1,445,199 ops/sec ±1.55% (93 runs sampled)
✓ fast.filter() x 1,988,242 ops/sec ±2.03% (93 runs sampled)
✓ underscore.filter() x 1,432,388 ops/sec ±1.25% (94 runs sampled)
✓ lodash.filter() x 1,972,004 ops/sec ±1.68% (93 runs sampled)
Result: fast.js is 37.58% faster than Array::filter().
Native .filter() vs fast.filter() (1000 items)
✓ Array::filter() x 20,746 ops/sec ±0.70% (96 runs sampled)
✓ fast.filter() x 22,097 ops/sec ±0.85% (93 runs sampled)
✓ underscore.filter() x 20,002 ops/sec ±0.72% (97 runs sampled)
✓ lodash.filter() x 22,081 ops/sec ±0.86% (95 runs sampled)
Result: fast.js is 6.52% faster than Array::filter().
Native .reduce() vs fast.reduce() (3 items)
✓ Array::reduce() x 6,841,467 ops/sec ±2.16% (93 runs sampled)
✓ fast.reduce() x 8,571,783 ops/sec ±0.66% (95 runs sampled)
✓ fast.reduce() v0.0.2c x 4,342,940 ops/sec ±0.70% (95 runs sampled)
✓ fast.reduce() v0.0.2b x 8,355,592 ops/sec ±1.01% (93 runs sampled)
✓ fast.reduce() v0.0.2a x 7,290,953 ops/sec ±0.75% (94 runs sampled)
✓ fast.reduce() v0.0.1 x 7,269,845 ops/sec ±0.88% (94 runs sampled)
✓ fast.reduce() v0.0.0 x 7,877,594 ops/sec ±1.81% (93 runs sampled)
✓ underscore.reduce() x 5,615,108 ops/sec ±2.29% (93 runs sampled)
✓ lodash.reduce() x 7,038,834 ops/sec ±0.77% (95 runs sampled)
Result: fast.js is 25.29% faster than Array::reduce().
Native .reduce() vs fast.reduce() (10 items)
✓ Array::reduce() x 2,626,758 ops/sec ±0.73% (92 runs sampled)
✓ fast.reduce() x 3,039,703 ops/sec ±0.65% (98 runs sampled)
✓ fast.reduce() v0.0.2c x 1,723,787 ops/sec ±2.32% (82 runs sampled)
✓ fast.reduce() v0.0.2b x 3,052,403 ops/sec ±0.67% (97 runs sampled)
✓ fast.reduce() v0.0.2a x 2,844,358 ops/sec ±0.87% (95 runs sampled)
✓ fast.reduce() v0.0.1 x 2,850,239 ops/sec ±0.73% (95 runs sampled)
✓ fast.reduce() v0.0.0 x 2,965,665 ops/sec ±0.94% (94 runs sampled)
✓ underscore.reduce() x 2,472,909 ops/sec ±1.08% (95 runs sampled)
✓ lodash.reduce() x 2,779,426 ops/sec ±0.64% (95 runs sampled)
Result: fast.js is 15.72% faster than Array::reduce().
Native .reduce() vs fast.reduce() (1000 items)
✓ Array::reduce() x 34,094 ops/sec ±0.77% (96 runs sampled)
✓ fast.reduce() x 38,526 ops/sec ±0.83% (96 runs sampled)
✓ fast.reduce() v0.0.2c x 19,496 ops/sec ±0.86% (94 runs sampled)
✓ fast.reduce() v0.0.2b x 34,900 ops/sec ±3.76% (86 runs sampled)
✓ fast.reduce() v0.0.2a x 38,110 ops/sec ±0.66% (94 runs sampled)
✓ fast.reduce() v0.0.1 x 37,674 ops/sec ±0.89% (95 runs sampled)
✓ fast.reduce() v0.0.0 x 37,142 ops/sec ±0.56% (98 runs sampled)
✓ underscore.reduce() x 36,090 ops/sec ±0.75% (94 runs sampled)
✓ lodash.reduce() x 36,773 ops/sec ±1.43% (92 runs sampled)
Result: fast.js is 13.00% faster than Array::reduce().
Native .reduceRight() vs fast.reduceRight() (3 items)
✓ Array::reduceRight() x 6,304,656 ops/sec ±0.88% (96 runs sampled)
✓ fast.reduceRight() x 7,333,885 ops/sec ±0.92% (97 runs sampled)
✓ underscore.reduceRight() x 5,150,021 ops/sec ±0.72% (90 runs sampled)
✓ lodash.reduceRight() x 6,096,364 ops/sec ±2.19% (95 runs sampled)
Result: fast.js is 16.32% faster than Array::reduceRight().
Native .reduceRight() vs fast.reduceRight() (10 items)
✓ Array::reduceRight() x 2,655,344 ops/sec ±1.08% (97 runs sampled)
✓ fast.reduceRight() x 3,047,247 ops/sec ±0.74% (98 runs sampled)
✓ underscore.reduceRight() x 2,455,016 ops/sec ±0.89% (96 runs sampled)
✓ lodash.reduceRight() x 2,799,301 ops/sec ±0.73% (94 runs sampled)
Result: fast.js is 14.76% faster than Array::reduceRight().
Native .reduceRight() vs fast.reduceRight() (1000 items)
✓ Array::reduceRight() x 18,750 ops/sec ±0.92% (95 runs sampled)
✓ fast.reduceRight() x 19,971 ops/sec ±0.77% (96 runs sampled)
✓ underscore.reduceRight() x 19,350 ops/sec ±0.68% (95 runs sampled)
✓ lodash.reduceRight() x 19,718 ops/sec ±1.05% (96 runs sampled)
Result: fast.js is 6.51% faster than Array::reduceRight().
Native .forEach() vs fast.forEach() (3 items)
✓ Array::forEach() x 6,510,094 ops/sec ±0.97% (91 runs sampled)
✓ fast.forEach() x 8,654,991 ops/sec ±0.80% (96 runs sampled)
✓ fast.forEach() v0.0.2a x 7,366,649 ops/sec ±2.33% (92 runs sampled)
✓ fast.forEach() v0.0.1 x 7,495,018 ops/sec ±1.90% (95 runs sampled)
✓ fast.forEach() v0.0.0 x 8,427,900 ops/sec ±1.02% (93 runs sampled)
✓ underscore.forEach() x 6,721,106 ops/sec ±0.89% (94 runs sampled)
✓ lodash.forEach() x 8,145,418 ops/sec ±2.12% (94 runs sampled)
Result: fast.js is 32.95% faster than Array::forEach().
Native .forEach() vs fast.forEach() (10 items)
✓ Array::forEach() x 2,859,697 ops/sec ±2.73% (92 runs sampled)
✓ fast.forEach() x 3,658,931 ops/sec ±0.85% (93 runs sampled)
✓ fast.forEach() v0.0.2a x 3,447,647 ops/sec ±0.97% (92 runs sampled)
✓ fast.forEach() v0.0.1 x 3,486,684 ops/sec ±0.76% (94 runs sampled)
✓ fast.forEach() v0.0.0 x 3,638,017 ops/sec ±0.68% (94 runs sampled)
✓ underscore.forEach() x 3,284,133 ops/sec ±0.94% (95 runs sampled)
✓ lodash.forEach() x 3,608,310 ops/sec ±0.72% (95 runs sampled)
Result: fast.js is 27.95% faster than Array::forEach().
Native .forEach() vs fast.forEach() (1000 items)
✓ Array::forEach() x 40,939 ops/sec ±0.78% (95 runs sampled)
✓ fast.forEach() x 50,377 ops/sec ±0.85% (92 runs sampled)
✓ fast.forEach() v0.0.2a x 51,074 ops/sec ±0.84% (95 runs sampled)
✓ fast.forEach() v0.0.1 x 50,827 ops/sec ±0.88% (92 runs sampled)
✓ fast.forEach() v0.0.0 x 45,706 ops/sec ±0.85% (95 runs sampled)
✓ underscore.forEach() x 49,595 ops/sec ±0.96% (93 runs sampled)
✓ lodash.forEach() x 48,241 ops/sec ±0.91% (92 runs sampled)
Result: fast.js is 23.05% faster than Array::forEach().
Native .some() vs fast.some() (3 items)
✓ Array::some() x 8,354,912 ops/sec ±0.73% (91 runs sampled)
✓ fast.some() x 12,083,356 ops/sec ±1.01% (95 runs sampled)
✓ underscore.some() x 7,874,081 ops/sec ±0.98% (94 runs sampled)
✓ lodash.some() x 10,441,775 ops/sec ±1.21% (96 runs sampled)
Result: fast.js is 44.63% faster than Array::some().
Native .some() vs fast.some() (10 items)
✓ Array::some() x 4,020,122 ops/sec ±0.91% (93 runs sampled)
✓ fast.some() x 5,612,517 ops/sec ±0.82% (96 runs sampled)
✓ underscore.some() x 4,136,215 ops/sec ±3.71% (88 runs sampled)
✓ lodash.some() x 5,087,367 ops/sec ±0.92% (92 runs sampled)
Result: fast.js is 39.61% faster than Array::some().
Native .some() vs fast.some() (1000 items)
✓ Array::some() x 62,558 ops/sec ±1.24% (93 runs sampled)
✓ fast.some() x 80,668 ops/sec ±1.09% (93 runs sampled)
✓ underscore.some() x 78,410 ops/sec ±0.67% (94 runs sampled)
✓ lodash.some() x 78,145 ops/sec ±0.96% (96 runs sampled)
Result: fast.js is 28.95% faster than Array::some().
Native .every() vs fast.every() (3 items)
✓ Array::every() x 8,145,893 ops/sec ±1.93% (92 runs sampled)
✓ fast.every() x 11,703,252 ops/sec ±0.74% (95 runs sampled)
✓ underscore.every() x 7,826,970 ops/sec ±0.91% (95 runs sampled)
✓ lodash.every() x 10,330,658 ops/sec ±0.75% (97 runs sampled)
Result: fast.js is 43.67% faster than Array::every().
Native .every() vs fast.every() (10 items)
✓ Array::every() x 3,997,481 ops/sec ±0.84% (95 runs sampled)
✓ fast.every() x 5,365,436 ops/sec ±2.42% (92 runs sampled)
✓ underscore.every() x 4,256,328 ops/sec ±0.95% (95 runs sampled)
✓ lodash.every() x 5,145,292 ops/sec ±1.12% (93 runs sampled)
Result: fast.js is 34.22% faster than Array::every().
Native .every() vs fast.every() (1000 items)
✓ Array::every() x 61,847 ops/sec ±0.69% (97 runs sampled)
✓ fast.every() x 85,440 ops/sec ±0.96% (94 runs sampled)
✓ underscore.every() x 80,045 ops/sec ±0.78% (97 runs sampled)
✓ lodash.every() x 82,982 ops/sec ±0.85% (95 runs sampled)
Result: fast.js is 38.15% faster than Array::every().
Native .concat() vs fast.concat() (3 items)
✓ Array::concat() x 1,071,237 ops/sec ±0.92% (95 runs sampled)
✓ fast.concat() x 8,574,303 ops/sec ±0.88% (97 runs sampled)
Result: fast.js is 700.41% faster than Array::concat().
Native .concat() vs fast.concat() (10 items)
✓ Array::concat() x 874,268 ops/sec ±2.81% (94 runs sampled)
✓ fast.concat() x 4,486,715 ops/sec ±0.72% (97 runs sampled)
Result: fast.js is 413.20% faster than Array::concat().
Native .concat() vs fast.concat() (1000 items)
✓ Array::concat() x 831,318 ops/sec ±0.69% (98 runs sampled)
✓ fast.concat() x 153,976 ops/sec ±0.67% (96 runs sampled)
Result: fast.js is 81.48% slower than Array::concat().
Native .concat() vs fast.concat() (1000 items, using apply)
✓ Array::concat() x 33,828 ops/sec ±0.91% (94 runs sampled)
✓ fast.concat() x 54,876 ops/sec ±2.03% (90 runs sampled)
Result: fast.js is 62.22% faster than Array::concat().
Finished in 1440 seconds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment