I hereby claim:
- I am jamestalmage on github.
- I am jamestalmage (https://keybase.io/jamestalmage) on keybase.
- I have a public key whose fingerprint is 4C25 E7D2 DFC7 25E1 D148 BB6E FE57 771B 3E74 787A
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
Doing require extensions correctly is essential, because:
nyc
need it to reliably supply coverage information that takes into account sourcemaps from upstream transforms.@bcoe @novemberborn The self-coverage stuff is actually a pretty interesting profiling tool when used in conjunction with npm link
. Since we automatically use index.covered.js
if it exists, we can get a better idea how our code behaves IRL. All these screenshots were generated running the AVA test suite:
First run, no cache hits:
We can see that out of 50 forked processes, it only becomes necessary to create an instrumenter in 3 of those processes (meaning that 47 forked processes simply pulled from the cache - even on the first run). This makes sense with the speedups I am seeing. You still get the majority of the benefit from caching even on your first run. The second run may be faster, but imperceptibly so.
TAP version 13 | |
# Subtest: (unnamed test) | |
1..1 | |
ok 1 - should be equal | |
ok 1 - (unnamed test) # time=10.216ms | |
1..1 | |
# time=36.141ms |
// code | |
require('time-require') | |
require('bluebird') | |
// output | |
Start time: (2016-01-02 00:25:23 UTC) [treshold=1%] | |
# module time % | |
1 pretty-ms (node_modules/pretty-ms/index.js) 1ms ▇ 2% | |
2 ansi-styles (node_modu...tyles/ansi-styles.js) 1ms ▇ 2% | |
3 strip-ansi (node_modul.../strip-ansi/index.js) 1ms ▇ 2% |
Full Disclaimer: I am a member of the AVA team
Between babel-plugin-espower#12 and ava#466 we are starting to see some pretty good performance compared to mocha:
I used emoji-aware
for the benchmarks, it's a real life test suite with 4,300+ tests. It's a good candidate for benchmarking the efficiency of AVA's test Runner because:
babel.transform(`foo()`, { | |
plugins: [ | |
function () { | |
return { | |
visitor: { | |
CallExpression() { | |
console.log('plugin 1'); | |
} | |
} |
Smoker
Control Unit