kaleidawave / ezno

A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance
https://kaleidawave.github.io/posts/introducing-ezno/
MIT License
2.3k stars 42 forks source link

Update CLI and some workflows #130

Closed kaleidawave closed 2 months ago

kaleidawave commented 2 months ago

Hopefully trying to get to the bottom of why diagnostic printing is 60% of the current check time?

  Benchmark 1: ./target/release/ezno check demo.ts

    Time (mean ± σ):      18.5 ms ±   0.7 ms    [User: 8.0 ms, System: 10.1 ms]
    Range (min … max):    17.6 ms …  23.3 ms    147 runs

  Benchmark 2: ./target/release/ezno check demo.ts --count-diagnostics

    Time (mean ± σ):       7.5 ms ±   0.4 ms    [User: 3.3 ms, System: 3.6 ms]
    Range (min … max):     6.9 ms …  10.0 ms    333 runs

  Summary
    ./target/release/ezno check demo.ts --count-diagnostics ran
      2.47 ± 0.16 times faster than ./target/release/ezno check demo.ts
kaleidawave commented 2 months ago

Hmm reusing the same stdout handle hasn't changed anything. https://github.com/kaleidawave/ezno/actions/runs/8637045218/job/23678349786#step:8:101

Maybe overhead in codespan_reporting or the system or anything else out of my control. Emitting is the bad case. Most of the time it should only report one or two exceptions not 60.