Come BuildKit decide che uno step è un cache hit, perché una riga cambiata ricostruisce tutto ciò che sta sotto, cosa mostra --progress=plain, e dove leggere la cache a occhio smette di bastare.
Su cosa spende tempo il checker: istanziazioni, confronti strutturali, la relation cache; cosa mostrano --extendedDiagnostics e --generateTrace; e dove leggere una trace smette di dirti cosa fare.
Il ragionamento dietro mongoose-lens: come MongoDB costruisce un query plan, cosa mostra davvero explain() e dove un'euristica basata sulla lettura del piano smette di bastare.
Perché un RUN successivo che cancella file non riduce l'immagine, perché il multi-stage è la leva vera, e come leggere docker history per trovare il peso.
Quando un tipo condizionale distribuisce su una union e quando no, come [T] extends [U] lo disattiva, quale posizione di infer vince, e perché la forma distributiva amplifica il costo.
Cosa contiene indexBounds per predicati di uguaglianza, range, $in, $or e multikey, perché keysExamined è il vero costo di un filtro, e l'unico caso in cui un COLLSCAN è inevitabile.
Un protocollo basato su fixture deterministiche per misurare come il conteggio delle istanziazioni e il check time di tsc reagiscono alla dimensione delle union, alla lunghezza delle builder chain, alla posizione della ricorsione e alla larghezza delle intersezioni, con --extendedDiagnostics e --generateTrace.
typescript
compiler-performance
type-instantiations
trace-analysis
conditional-types
distributive-conditional-types
infer
Progetti
Implementazioni pratiche che dimostrano una o più aree tecniche.
mongoose-lens
Sviluppato e mantenuto da me
Interceptor per query lente e advisor di indici per Mongoose 8+. Esegue automaticamente explain() sulle query lente, rileva gli stage COLLSCAN/SORT e suggerisce indici ottimali secondo la regola ESR.