1.69KB gzipped (4.05KB uncompressed) with closure compiler, fucking fast, and many bug fixes.
the majority of the file-size savings (this version of promises is actually many more bytes then the original) is thanks to @eventualbuddha's latest "bundled" output for es6-module-transpilation
clearly some parts can still be improved, but good progress. Then sequence is one of poor areas right now.
Running Benchmark Suite for test - All 1 ...
- [All 1] es6 x 1,317,949 ops/sec ±17.55% (54 runs sampled)
- [All 1] es6Promise x 94,532 ops/sec ±27.26% (48 runs sampled)
- [All 1] bluebird x 618,668 ops/sec ±19.72% (56 runs sampled)
- [All 1] when x 1,168,224 ops/sec ±12.74% (65 runs sampled)
Running Benchmark Suite for test - All 2 ...
- [All 2] es6 x 1,287,601 ops/sec ±21.85% (54 runs sampled)
- [All 2] es6Promise x 125,851 ops/sec ±6.66% (53 runs sampled)
- [All 2] bluebird x 666,175 ops/sec ±9.68% (64 runs sampled)
- [All 2] when x 968,931 ops/sec ±6.29% (65 runs sampled)
Running Benchmark Suite for test - All 10 ...
- [All 10] es6 x 1,337,632 ops/sec ±13.48% (60 runs sampled)
- [All 10] es6Promise x 109,120 ops/sec ±12.73% (50 runs sampled)
- [All 10] bluebird x 378,692 ops/sec ±15.93% (58 runs sampled)
- [All 10] when x 777,846 ops/sec ±16.70% (54 runs sampled)
Running Benchmark Suite for test - All 50 ...
- [All 50] es6 x 634,875 ops/sec ±17.05% (54 runs sampled)
- [All 50] es6Promise x 73,311 ops/sec ±20.88% (49 runs sampled)
- [All 50] bluebird x 189,959 ops/sec ±17.09% (60 runs sampled)
- [All 50] when x 707,446 ops/sec ±22.26% (61 runs sampled)
Running Benchmark Suite for test - All 100 ...
- [All 100] es6 x 462,885 ops/sec ±16.54% (58 runs sampled)
- [All 100] es6Promise x 65,346 ops/sec ±14.34% (56 runs sampled)
- [All 100] bluebird x 116,115 ops/sec ±15.08% (66 runs sampled)
- [All 100] when x 576,561 ops/sec ±10.43% (66 runs sampled)
Running Benchmark Suite for test - All 1000 ...
- [All 1000] es6 x 56,181 ops/sec ±12.05% (64 runs sampled)
- [All 1000] es6Promise x 12,583 ops/sec ±16.04% (51 runs sampled)
- [All 1000] bluebird x 15,053 ops/sec ±11.64% (67 runs sampled)
- [All 1000] when x 110,630 ops/sec ±15.70% (61 runs sampled)
Running Benchmark Suite for test - All 10000 ...
- [All 10000] es6 x 7,940 ops/sec ±14.69% (67 runs sampled)
- [All 10000] es6Promise x 1,329 ops/sec ±17.70% (57 runs sampled)
- [All 10000] bluebird x 1,478 ops/sec ±12.85% (64 runs sampled)
- [All 10000] when x 13,102 ops/sec ±16.27% (66 runs sampled)
Running Benchmark Suite for test - All thenable 10000 ...
- [All thenable 10000] es6 x 2,396 ops/sec ±7.11% (68 runs sampled)
- [All thenable 10000] es6Promise x 42.97 ops/sec ±13.67% (46 runs sampled)
- [All thenable 10000] bluebird x 1,446 ops/sec ±6.25% (66 runs sampled)
- [All thenable 10000] when x 3,470 ops/sec ±7.91% (70 runs sampled)
Running Benchmark Suite for test - Creation 1 ...
- [Creation 1] es6 x 6,043,403 ops/sec ±10.91% (58 runs sampled)
- [Creation 1] es6Promise x 6,406,419 ops/sec ±9.21% (62 runs sampled)
- [Creation 1] bluebird x 4,741,041 ops/sec ±12.83% (60 runs sampled)
- [Creation 1] when x 2,924,957 ops/sec ±13.53% (60 runs sampled)
Running Benchmark Suite for test - Reject 1 ...
- [Reject 1] es6 x 232,715 ops/sec ±8.04% (47 runs sampled)
- [Reject 1] es6Promise x 359,730 ops/sec ±13.03% (46 runs sampled)
- [Reject 1] bluebird x 267,141 ops/sec ±8.95% (65 runs sampled)
- [Reject 1] when x 877,527 ops/sec ±11.80% (63 runs sampled)
Running Benchmark Suite for test - Resolve 1 ...
- [Resolve 1] es6 x 1,220,709 ops/sec ±8.89% (60 runs sampled)
- [Resolve 1] es6Promise x 358,367 ops/sec ±11.29% (55 runs sampled)
- [Resolve 1] bluebird x 1,204,362 ops/sec ±7.85% (66 runs sampled)
- [Resolve 1] when x 1,126,115 ops/sec ±9.00% (64 runs sampled)
Running Benchmark Suite for test - Resolve Promise 1 ...
- [Resolve Promise 1] es6 x 813,110 ops/sec ±25.63% (53 runs sampled)
- [Resolve Promise 1] es6Promise x 147,867 ops/sec ±21.03% (47 runs sampled)
- [Resolve Promise 1] bluebird x 1,188,509 ops/sec ±16.24% (60 runs sampled)
- [Resolve Promise 1] when x 1,311,467 ops/sec ±15.12% (62 runs sampled)
Running Benchmark Suite for test - Then sequence 1 ...
- [Then sequence 1] es6 x 939,479 ops/sec ±18.17% (55 runs sampled)
- [Then sequence 1] es6Promise x 221,425 ops/sec ±17.20% (51 runs sampled)
- [Then sequence 1] bluebird x 1,062,344 ops/sec ±17.98% (60 runs sampled)
- [Then sequence 1] when x 1,368,123 ops/sec ±20.26% (57 runs sampled)
Running Benchmark Suite for test - Then sequence 2 ...
- [Then sequence 2] es6 x 647,827 ops/sec ±15.82% (54 runs sampled)
- [Then sequence 2] es6Promise x 157,352 ops/sec ±20.13% (40 runs sampled)
- [Then sequence 2] bluebird x 908,095 ops/sec ±16.80% (62 runs sampled)
- [Then sequence 2] when x 1,235,377 ops/sec ±14.46% (62 runs sampled)
Running Benchmark Suite for test - Then sequence 10 ...
- [Then sequence 10] es6 x 208,993 ops/sec ±21.62% (53 runs sampled)
- [Then sequence 10] es6Promise x 50,187 ops/sec ±21.17% (42 runs sampled)
- [Then sequence 10] bluebird x 334,191 ops/sec ±18.08% (60 runs sampled)
- [Then sequence 10] when x 890,853 ops/sec ±15.25% (66 runs sampled)
Running Benchmark Suite for test - Then sequence 50 ...
- [Then sequence 50] es6 x 50,806 ops/sec ±17.34% (54 runs sampled)
- [Then sequence 50] es6Promise x 13,661 ops/sec ±17.86% (36 runs sampled)
- [Then sequence 50] bluebird x 84,802 ops/sec ±14.24% (58 runs sampled)
- [Then sequence 50] when x 337,793 ops/sec ±10.03% (63 runs sampled)
Running Benchmark Suite for test - Then sequence 100 ...
- [Then sequence 100] es6 x 27,147 ops/sec ±11.96% (54 runs sampled)
- [Then sequence 100] es6Promise x 7,078 ops/sec ±12.77% (34 runs sampled)
- [Then sequence 100] bluebird x 43,338 ops/sec ±11.36% (58 runs sampled)
- [Then sequence 100] when x 200,033 ops/sec ±8.15% (63 runs sampled)
Running Benchmark Suite for test - Then sequence 1000 ...
- [Then sequence 1000] es6 x 2,651 ops/sec ±11.70% (55 runs sampled)
- [Then sequence 1000] es6Promise x 843 ops/sec ±11.40% (48 runs sampled)
- [Then sequence 1000] bluebird x 4,851 ops/sec ±9.46% (64 runs sampled)
Fastest for Then sequence 1000 is [ 'lie' ]
Running Benchmark Suite for test - Then sequence 10000 ...
- [Then sequence 10000] es6 x 232 ops/sec ±17.72% (50 runs sampled)
- [Then sequence 10000] es6Promise x 74.30 ops/sec ±16.88% (51 runs sampled)
- [Then sequence 10000] bluebird x 443 ops/sec ±16.93% (64 runs sampled)
- [Then sequence 10000] when x 2,115 ops/sec ±9.78% (62 runs sampled)
Running Benchmark Suite for test - Then thenning 1 ...
- [Then thenning 1] es6 x 1,691,210 ops/sec ±12.31% (58 runs sampled)
- [Then thenning 1] es6Promise x 206,552 ops/sec ±15.33% (46 runs sampled)
- [Then thenning 1] bluebird x 271,149 ops/sec ±53.22% (5 runs sampled)
- [Then thenning 1] when x 1,998,426 ops/sec ±15.15% (66 runs sampled)
Running Benchmark Suite for test - Then thenning 2 ...
- [Then thenning 2] es6 x 1,662,126 ops/sec ±19.54% (55 runs sampled)
- [Then thenning 2] es6Promise x 165,546 ops/sec ±18.25% (47 runs sampled)
- [Then thenning 2] bluebird x 286,608 ops/sec ±51.44% (5 runs sampled)
- [Then thenning 2] when x 1,857,299 ops/sec ±15.54% (67 runs sampled)
Running Benchmark Suite for test - Then thenning 10 ...
- [Then thenning 10] es6 x 1,217,834 ops/sec ±13.63% (62 runs sampled)
- [Then thenning 10] es6Promise x 60,388 ops/sec ±14.14% (45 runs sampled)
- [Then thenning 10] bluebird x 130,328 ops/sec ±19.96% (12 runs sampled)
- [Then thenning 10] when x 1,076,037 ops/sec ±17.60% (64 runs sampled)
Running Benchmark Suite for test - Then thenning 50 ...
- [Then thenning 50] es6 x 453,404 ops/sec ±11.69% (64 runs sampled)
- [Then thenning 50] es6Promise x 13,114 ops/sec ±18.15% (44 runs sampled)
- [Then thenning 50] bluebird x 20,499 ops/sec ±37.27% (29 runs sampled)
- [Then thenning 50] when x 330,184 ops/sec ±14.26% (62 runs sampled)
Running Benchmark Suite for test - Then thenning 100 ...
- [Then thenning 100] es6 x 172,900 ops/sec ±19.92% (56 runs sampled)
- [Then thenning 100] es6Promise x 5,310 ops/sec ±18.34% (35 runs sampled)
- [Then thenning 100] bluebird x 11,095 ops/sec ±19.15% (48 runs sampled)
- [Then thenning 100] when x 198,358 ops/sec ±17.21% (64 runs sampled)
Running Benchmark Suite for test - Then thenning 1000 ...
- [Then thenning 1000] es6 x 24,425 ops/sec ±14.55% (64 runs sampled)
- [Then thenning 1000] es6Promise x 802 ops/sec ±20.16% (44 runs sampled)
- [Then thenning 1000] bluebird x 1,180 ops/sec ±14.13% (55 runs sampled)
- [Then thenning 1000] when x 22,541 ops/sec ±16.89% (66 runs sampled)
Running Benchmark Suite for test - Then thenning 10000 ...
- [Then thenning 10000] es6 x 1,701 ops/sec ±21.85% (53 runs sampled)
- [Then thenning 10000] es6Promise x 75.80 ops/sec ±16.52% (49 runs sampled)
- [Then thenning 10000] bluebird x 143 ops/sec ±16.35% (61 runs sampled)
- [Then thenning 10000] when x 2,044 ops/sec ±11.98% (68 runs sampled)