Goal
Add a deterministic frontend workload for user-defined type predicates and assertion functions, then optimize Home only through general compiler improvements until it beats both pinned competitors.
Fair workload
Generate one dependency-free TypeScript module containing independent type-predicate families. Each family will exercise:
- a discriminated input union;
- a
value is Tpredicate; - an
asserts value is Tassertion function; - call-driven narrowing and nested property reads;
- typed result consumption.
All three compilers must receive the identical generated project and shared --noEmit configuration. The project must validate successfully and silently in Home, JavaScript TypeScript 6.0.3, and native TypeScript 7.0.2 before timing. A preserved invalid mutation must also be rejected consistently before the workload is accepted.
Process
- Land and freeze the valid workload before performance tuning.
- Record an interleaved red baseline if Home loses.
- Profile and fix general compiler behavior without corpus-specific shortcuts.
- Run the full interleaved suite with all samples retained.
- Publish detailed methodology/results and synchronize the root README table.
Tracks #416.