jlevy / jlevy/tryscript

Consider timing diagnostics and adapters for slow repeated CLI startup

Aperta
#44 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
13
Fork
1
Merge medio
3h 38m
PR unite (30g)
3

Descrizione

Some CLI golden suites run the same command many times, and for TypeScript/Node CLIs a
single cold start can be around a second. When a tryscript file or suite has many console
blocks, that startup cost can dominate the run even when tryscript's own matching overhead
is small.

It would be useful to consider support or guidance here without changing tryscript's core
shell semantics.

Possible directions:

- Document how to diagnose startup-bound suites versus output-matching overhead.
- Add optional timing diagnostics, such as per-command duration and a slowest-commands
summary.
- Provide guidance for CLI authors on reducing startup cost: lazy imports, prebuilt JS,
Node compile cache, avoiding heavy barrel imports, etc.
- Consider an advanced adapter/lifecycle pattern for CLIs that can safely run multiple
invocations through one prestarted process while preserving argv, cwd, env, stdin,
stdout/stderr, and exit-code behavior.

The adapter idea is not universally safe because many CLIs rely on process isolation or
global state. Even if tryscript does not implement daemonization directly, docs and timing
visibility would help users see where slow golden tests are spending time and choose the
right mitigation.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.