Consider timing diagnostics and adapters for slow repeated CLI startup

Aperta
#44 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
node.js, typescript

Direzione di ricerca

Nell’issue non sono indicati file o test. Per prima cosa riproduci una suite di comandi ripetuti e confronta il tempo di avvio con l’overhead del confronto dell’output; poi circoscrivi una direzione—diagnostica dei tempi, documentazione o un adapter. Il lavoro completato deve includere indicazioni o diagnostica chiare, oltre a preservare argv, cwd, ambiente, stream e comportamento dell’exit code per qualsiasi adapter.

Scritto dal modello di indicizzazione a partire dal testo della issue.

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.

Lingua principale
TypeScript
Stelle
13
Fork
1
Merge medio
3h 38m
PR unite (30g)
3

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di jlevy/tryscript

Tutte le issue di jlevy/tryscript

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.