Skip to content

Instantly share code, notes, and snippets.

@ahdinosaur
Last active June 27, 2016 11:50
Show Gist options
  • Save ahdinosaur/0de5e8bef62bccfca0fbec834830de4d to your computer and use it in GitHub Desktop.
Save ahdinosaur/0de5e8bef62bccfca0fbec834830de4d to your computer and use it in GitHub Desktop.
# Platform
ok 1 (unnamed assert)
Node.js 6.2.1 on Linux 64-bit
# add and remove
dripEmitter x 15,065,933 ops/sec ±4.48% (14 runs sampled)
MiniSignals x 7,834,762 ops/sec ±4.84% (14 runs sampled)
ReactiveProperty x 2,849,449 ops/sec ±3.59% (15 runs sampled)
EventDispatcher x 2,661,521 ops/sec ±3.50% (16 runs sampled)
EventEmitter x 1,857,740 ops/sec ±10.11% (13 runs sampled)
pushStream x 1,663,977 ops/sec ±4.03% (15 runs sampled)
EventEmitter3 x 1,028,005 ops/sec ±7.94% (15 runs sampled)
EventEmitter2 x 602,832 ops/sec ±6.88% (15 runs sampled)
JS-Signals x 378,625 ops/sec ±6.65% (16 runs sampled)
dripEmitterEnhanced x 227,218 ops/sec ±2.83% (17 runs sampled)
*Fastest is __dripEmitter__*
# emit one array
Theoretical max x 6,200,128 ops/sec ±3.08% (15 runs sampled) *burn in*
MicroSignals x 3,695,995 ops/sec ±4.77% (14 runs sampled)
signal-lite x 3,270,722 ops/sec ±2.38% (14 runs sampled)
MiniSignals x 3,139,279 ops/sec ±4.05% (15 runs sampled)
push-stream x 2,788,686 ops/sec ±2.01% (15 runs sampled)
dripEmitter x 2,384,158 ops/sec ±4.92% (15 runs sampled)
ReactiveProperty x 2,360,012 ops/sec ±6.77% (13 runs sampled)
EventEmitter3 x 2,308,695 ops/sec ±4.54% (15 runs sampled)
EventEmitter x 1,705,464 ops/sec ±3.06% (14 runs sampled)
event-signal x 889,781 ops/sec ±2.30% (15 runs sampled)
EventEmitter2 x 729,349 ops/sec ±1.32% (17 runs sampled)
RXJS x 665,480 ops/sec ±3.91% (16 runs sampled)
pull-notify x 522,788 ops/sec ±8.17% (15 runs sampled)
dripEmitterEnhanced x 304,236 ops/sec ±6.89% (14 runs sampled)
signal-emitter x 104,479 ops/sec ±0.60% (15 runs sampled)
JS-Signals x 67,225 ops/sec ±3.14% (15 runs sampled)
*Fastest is __MicroSignals__*
# emit many values - two listeners
Theoretical max x 28,830,614 ops/sec ±4.63% (15 runs sampled) *burn in*
MiniSignals x 9,375,062 ops/sec ±2.15% (15 runs sampled)
signal-lite x 6,416,961 ops/sec ±4.14% (15 runs sampled)
EventEmitter x 439,177 ops/sec ±6.92% (14 runs sampled)
EventEmitter3 x 385,769 ops/sec ±5.57% (15 runs sampled)
EventEmitter2 x 339,512 ops/sec ±5.90% (15 runs sampled)
dripEmitterEnhanced x 271,161 ops/sec ±9.00% (14 runs sampled)
signal-emitter x 181,818 ops/sec ±3.79% (17 runs sampled)
JS-Signals x 91,142 ops/sec ±2.95% (16 runs sampled)
minivents x 65,043 ops/sec ±2.35% (15 runs sampled)
*Fastest is __MiniSignals__*
# emit one object - one listener
Theoretical max x 5,728,578 ops/sec ±4.20% (14 runs sampled) *burn in*
MicroSignals x 5,165,079 ops/sec ±3.79% (16 runs sampled)
MiniSignals x 4,831,354 ops/sec ±2.68% (14 runs sampled)
mini-pipe x 4,422,924 ops/sec ±7.65% (14 runs sampled)
signal-lite x 4,019,770 ops/sec ±3.22% (16 runs sampled)
push-stream x 3,660,427 ops/sec ±2.48% (14 runs sampled)
ReactiveProperty x 3,268,462 ops/sec ±1.51% (17 runs sampled)
xstream x 3,331,758 ops/sec ±3.96% (14 runs sampled)
dripEmitter x 2,931,077 ops/sec ±16.50% (14 runs sampled)
EventEmitter x 2,413,889 ops/sec ±3.59% (15 runs sampled)
EventEmitter3 x 2,836,354 ops/sec ±30.77% (15 runs sampled)
EventEmitter2 x 2,550,380 ops/sec ±25.74% (16 runs sampled)
EventDispatcher x 1,465,193 ops/sec ±3.58% (16 runs sampled)
pull-notify x 1,117,838 ops/sec ±3.95% (14 runs sampled)
event-signal x 1,093,228 ops/sec ±4.87% (14 runs sampled)
pull-pushable x 1,027,151 ops/sec ±2.04% (17 runs sampled)
RXJS x 762,237 ops/sec ±7.84% (13 runs sampled)
dripEmitterEnhanced x 275,090 ops/sec ±6.66% (17 runs sampled)
signal-emitter x 109,008 ops/sec ±3.66% (15 runs sampled)
JS-Signals x 68,291 ops/sec ±3.16% (15 runs sampled)
*Fastest is __MicroSignals__*
# emit one object - two listeners
Theoretical max x 4,013,215 ops/sec ±0.88% (14 runs sampled) *burn in*
MicroSignals x 2,512,018 ops/sec ±1.30% (12 runs sampled)
signal-lite x 2,498,962 ops/sec ±4.54% (15 runs sampled)
MiniSignals x 2,491,325 ops/sec ±5.19% (14 runs sampled)
push-stream x 2,383,986 ops/sec ±5.24% (14 runs sampled)
ReactiveProperty x 2,175,324 ops/sec ±7.09% (17 runs sampled)
EventEmitter3 x 1,982,919 ops/sec ±1.38% (16 runs sampled)
dripEmitter x 1,986,205 ops/sec ±3.59% (16 runs sampled)
xstream x 1,551,816 ops/sec ±6.98% (16 runs sampled)
EventEmitter x 1,333,363 ops/sec ±2.87% (16 runs sampled)
EventDispatcher x 1,123,181 ops/sec ±2.08% (16 runs sampled)
event-signal x 847,737 ops/sec ±1.72% (16 runs sampled)
RXJS x 707,582 ops/sec ±4.38% (14 runs sampled)
EventEmitter2 x 671,180 ops/sec ±1.34% (15 runs sampled)
pull-notify x 473,659 ops/sec ±1.01% (16 runs sampled)
dripEmitterEnhanced x 302,608 ops/sec ±3.04% (16 runs sampled)
signal-emitter x 122,439 ops/sec ±4.58% (15 runs sampled)
JS-Signals x 62,291 ops/sec ±3.75% (14 runs sampled)
*Fastest is __MicroSignals, signal-lite, MiniSignals, push-stream__*
# emit one value - bound function
Theoretical max x 26,843,350 ops/sec ±11.11% (17 runs sampled) *burn in*
MicroSignals x 9,212,754 ops/sec ±2.62% (16 runs sampled)
ReactiveProperty x 8,268,269 ops/sec ±1.39% (15 runs sampled)
push-stream x 8,253,974 ops/sec ±4.31% (15 runs sampled)
xstream x 6,896,304 ops/sec ±3.53% (17 runs sampled)
EventEmitter x 6,919,654 ops/sec ±5.39% (17 runs sampled)
EventEmitter3 x 7,238,967 ops/sec ±10.63% (15 runs sampled)
dripEmitter x 6,451,074 ops/sec ±1.54% (16 runs sampled)
MiniSignals x 3,450,355 ops/sec ±3.52% (17 runs sampled)
EventEmitter2 x 2,824,637 ops/sec ±12.85% (16 runs sampled)
signal-lite x 2,557,192 ops/sec ±2.78% (15 runs sampled)
event-signal x 2,205,866 ops/sec ±1.91% (15 runs sampled)
RXJS x 1,800,733 ops/sec ±3.00% (16 runs sampled)
pull-notify x 1,658,172 ops/sec ±2.76% (16 runs sampled)
dripEmitterEnhanced x 695,946 ops/sec ±1.83% (16 runs sampled)
signal-emitter x 308,733 ops/sec ±3.80% (15 runs sampled)
JS-Signals x 174,160 ops/sec ±2.40% (16 runs sampled)
*Fastest is __MicroSignals__*
# emit one value - many listeners
MiniSignals x 2,122,250 ops/sec ±0.76% (15 runs sampled)
Theoretical max x 2,122,795 ops/sec ±1.24% (12 runs sampled) *burn in*
signal-lite x 1,942,750 ops/sec ±0.53% (15 runs sampled)
push-stream x 1,938,889 ops/sec ±1.46% (15 runs sampled)
EventEmitter3 x 2,038,212 ops/sec ±7.59% (14 runs sampled)
dripEmitter x 1,861,874 ops/sec ±3.75% (16 runs sampled)
MicroSignal x 1,911,421 ops/sec ±8.55% (13 runs sampled)
xstream x 1,729,486 ops/sec ±3.82% (16 runs sampled)
ReactiveProperty x 1,682,892 ops/sec ±4.88% (17 runs sampled)
EventEmitter x 1,537,304 ops/sec ±2.16% (15 runs sampled)
event-signal x 1,195,832 ops/sec ±4.93% (16 runs sampled)
EventEmitter2 x 1,034,698 ops/sec ±1.51% (15 runs sampled)
RXJS x 707,642 ops/sec ±3.65% (16 runs sampled)
dripEmitterEnhanced x 625,488 ops/sec ±2.83% (16 runs sampled)
pull-notify x 362,898 ops/sec ±2.51% (16 runs sampled)
signal-emitter x 291,222 ops/sec ±2.36% (15 runs sampled)
JS-Signals x 105,715 ops/sec ±2.47% (16 runs sampled)
minivents x 39,528 ops/sec ±3.29% (16 runs sampled)
*Fastest is __MiniSignals__*
# emit one value - one listener
Theoretical max x 19,639,054 ops/sec ±3.30% (16 runs sampled) *burn in*
MicroSignals x 16,952,016 ops/sec ±3.41% (16 runs sampled)
xstream x 16,247,515 ops/sec ±1.82% (16 runs sampled)
MiniSignals x 13,409,564 ops/sec ±3.99% (16 runs sampled)
signal-lite x 12,597,372 ops/sec ±4.30% (14 runs sampled)
mini-pipe x 12,619,449 ops/sec ±10.90% (15 runs sampled)
EventEmitter3 x 11,288,824 ops/sec ±3.03% (15 runs sampled)
push-stream x 10,487,124 ops/sec ±1.56% (16 runs sampled)
ReactiveProperty x 10,340,595 ops/sec ±4.36% (14 runs sampled)
dripEmitter x 9,952,060 ops/sec ±1.65% (13 runs sampled)
push-stream-patch x 9,445,929 ops/sec ±5.51% (16 runs sampled)
EventEmitter x 6,889,832 ops/sec ±2.22% (13 runs sampled)
EventEmitter2 x 7,828,050 ops/sec ±24.65% (15 runs sampled)
observ x 4,906,605 ops/sec ±13.08% (14 runs sampled)
pull-pushable x 4,131,313 ops/sec ±4.33% (15 runs sampled)
pull-notify x 3,827,368 ops/sec ±2.49% (16 runs sampled)
event-signal x 2,928,454 ops/sec ±5.67% (16 runs sampled)
RXJS x 2,298,245 ops/sec ±4.13% (17 runs sampled)
barracks x 2,338,625 ops/sec ±6.64% (15 runs sampled)
d3-dispatch x 1,760,861 ops/sec ±4.33% (16 runs sampled)
dripEmitterEnhanced x 975,958 ops/sec ±1.60% (15 runs sampled)
observable x 380,194 ops/sec ±5.84% (16 runs sampled)
signal-emitter x 311,108 ops/sec ±1.26% (17 runs sampled)
minivents x 272,713 ops/sec ±4.31% (15 runs sampled)
JS-Signals x 236,461 ops/sec ±3.02% (14 runs sampled)
namespace-emitter x 183,928 ops/sec ±0.67% (14 runs sampled)
*Fastest is __MicroSignals__*
# emit one value - two listeners
Theoretical max x 12,588,865 ops/sec ±4.51% (15 runs sampled) *burn in*
MiniSignals x 8,117,209 ops/sec ±1.91% (16 runs sampled)
signal-lite x 8,169,141 ops/sec ±3.88% (16 runs sampled)
MicroSignals x 6,438,190 ops/sec ±2.93% (16 runs sampled)
dripEmitter x 6,297,237 ops/sec ±1.19% (13 runs sampled)
push-stream x 6,965,720 ops/sec ±14.34% (15 runs sampled)
xstream x 6,343,481 ops/sec ±8.24% (15 runs sampled)
push-stream-patch x 5,546,453 ops/sec ±1.99% (17 runs sampled)
EventEmitter3 x 5,851,915 ops/sec ±10.54% (14 runs sampled)
ReactiveProperty x 4,881,320 ops/sec ±1.36% (16 runs sampled)
EventEmitter x 4,510,489 ops/sec ±3.08% (15 runs sampled)
observ x 2,925,237 ops/sec ±1.53% (15 runs sampled)
event-signal x 2,371,892 ops/sec ±1.97% (17 runs sampled)
EventEmitter2 x 2,378,125 ops/sec ±5.65% (12 runs sampled)
RXJS x 1,850,655 ops/sec ±4.44% (14 runs sampled)
pull-notify x 1,461,859 ops/sec ±3.78% (15 runs sampled)
d3-dispatch x 985,499 ops/sec ±5.99% (16 runs sampled)
dripEmitterEnhanced x 834,301 ops/sec ±2.16% (13 runs sampled)
observable x 366,935 ops/sec ±3.86% (15 runs sampled)
signal-emitter x 354,087 ops/sec ±2.45% (17 runs sampled)
JS-Signals x 227,447 ops/sec ±4.70% (15 runs sampled)
namespace-emitter x 188,303 ops/sec ±4.49% (15 runs sampled)
minivents x 173,378 ops/sec ±4.91% (15 runs sampled)
*Fastest is __MiniSignals, signal-lite__*
TAP version 13
# emit one value - with context
Theoretical max x 14,271,684 ops/sec ±3.00% (14 runs sampled) *burn in*
MiniSignals x 9,239,115 ops/sec ±2.36% (16 runs sampled)
MicroSignals x 8,970,956 ops/sec ±2.73% (16 runs sampled)
ReactiveProperty x 7,918,638 ops/sec ±1.56% (15 runs sampled)
push-stream x 7,948,913 ops/sec ±3.78% (14 runs sampled)
signal-lite x 7,811,441 ops/sec ±8.14% (13 runs sampled)
EventEmitter3 x 6,443,278 ops/sec ±1.53% (15 runs sampled)
dripEmitter x 6,156,806 ops/sec ±1.85% (17 runs sampled)
EventEmitter x 4,021,841 ops/sec ±5.36% (14 runs sampled)
event-signal x 2,799,484 ops/sec ±4.21% (14 runs sampled)
EventEmitter2 x 2,206,111 ops/sec ±1.55% (16 runs sampled)
RXJS x 2,011,366 ops/sec ±8.60% (14 runs sampled)
pull-notify x 1,133,001 ops/sec ±24.72% (17 runs sampled)
dripEmitterEnhanced x 964,497 ops/sec ±7.73% (15 runs sampled)
signal-emitter x 337,066 ops/sec ±6.78% (14 runs sampled)
JS-Signals x 181,342 ops/sec ±1.85% (15 runs sampled)
*Fastest is __MiniSignals, MicroSignals__*
TAP version 13
# emit variable number of values
Theoretical max x 3,418,505 ops/sec ±2.12% (14 runs sampled) *burn in*
MiniSignals x 2,343,803 ops/sec ±5.23% (15 runs sampled)
signal-lite x 1,816,935 ops/sec ±8.85% (13 runs sampled)
EventEmitter x 1,228,508 ops/sec ±4.34% (14 runs sampled)
EventEmitter3 x 641,038 ops/sec ±4.03% (14 runs sampled)
EventEmitter2 x 349,283 ops/sec ±1.69% (17 runs sampled)
dripEmitterEnhanced x 184,490 ops/sec ±0.67% (15 runs sampled)
signal-emitter x 90,423 ops/sec ±3.39% (14 runs sampled)
JS-Signals x 49,953 ops/sec ±5.07% (14 runs sampled)
*Fastest is __MiniSignals__*
# init
EventDispatcher x 27,510,786 ops/sec ±7.76% (15 runs sampled)
MiniSignals x 25,052,200 ops/sec ±10.07% (16 runs sampled)
EventEmitter3 x 22,313,813 ops/sec ±2.30% (13 runs sampled)
DripEmitter x 21,917,604 ops/sec ±2.45% (11 runs sampled)
Theoretical max x 22,983,226 ops/sec ±18.61% (14 runs sampled) *burn in*
EventEmitter2 x 16,550,700 ops/sec ±4.78% (14 runs sampled)
EventEmitter x 15,000,878 ops/sec ±6.61% (15 runs sampled)
DripEmitterEnhanced x 10,004,977 ops/sec ±3.91% (16 runs sampled)
push-stream x 7,103,749 ops/sec ±3.92% (16 runs sampled)
JS-Signals x 1,797,552 ops/sec ±15.66% (15 runs sampled)
ReactiveProperty x 1,088,490 ops/sec ±18.79% (15 runs sampled)
pull-notify x 526,918 ops/sec ±21.97% (12 runs sampled)
*Fastest is __EventDispatcher, MiniSignals__*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment