Commit Graph

1 Commits

Author SHA1 Message Date
Mitchell Hentges 6f3b8d0962 Defer schema validation to improve test performance
Many modules export an `ajvCompiledJsonSchemaValidator(...)`, which
incurs the `ajv` schema compilation at module-import-time.
Many tests depend on these modules transitively, but don't exercise the
compiled schema - so, this compilation time is wasted.

On my machine, with an example test (airbrake/src/index.test.ts) I'm
seeing the following numbers (n=10):

Before: 6005.1ms
After: 5807.8ms
Benefit: 197.3ms (~3.3%)

Weirdly, the NodeJS profiler was saying that schema compilation was
taking ~2000ms, but that is likely due to the inaccuracy of the
sampling.

Signed-off-by: Mitchell Hentges <mhentges@spotify.com>
2022-09-21 17:00:11 +02:00