purescript / spago

🍝 PureScript package manager and build tool
BSD 3-Clause "New" or "Revised" License
792 stars 132 forks source link

[RFE] support `--no-build` in `spago run` as well #1303

Open Hi-Angel opened 1 week ago

Hi-Angel commented 1 week ago

spago bundle-app has a handy option that skips a bulid: --no-build. It would be great if this option was supported in spago run as well.

Usecase: when running purescript-written backend on a machine with which sources were shared via NFS, spago's attempt to rebuild sources slows down start up time considerably. I found via bpftrace that it's possible to "run" manually by executing node .spago/run.js.

Measuring running time for the code with its main replaced to main = pure unit shows:

Case Command Time
Uncached spago run 50.266 sec
Cached spago run 2.397 sec
Uncached node .spago/run.js 11.393 sec
Cached node .spago/run.js 0.434 sec

That's up to ≈78% improvement.