Skip to content

v0.52.0

Choose a tag to compare

@joshfriend joshfriend released this 20 Apr 17:45
· 36 commits to master since this release
b3daf6d
feat: parrallellize hermit install downloads (#558)

Download package archives concurrently during install using errgroup,
with concurrency defaulting to `runtime.NumCPU()`. A new `-j` flag
allows overriding the parallelism level.

Only the download phase is parallelised. Extraction and linking remain
serial because unpack triggers may execute binaries from dependency
packages.

Both install paths benefit:
- **No-args** (re-install existing): parallel download, then serial
CacheAndUnpack.
- **With packages**: parallel download, then serial install/link loop.

A new `State.Download` method is added to expose download-only
functionality, separate from `CacheAndUnpack`.

Co-authored-by: Amp <amp@ampcode.com>