Skip to content

v0.6.0

Choose a tag to compare

@andreygrehov andreygrehov released this 07 Oct 00:57
· 3 commits to master since this release

On Linux, Range no longer needs root. Without it, each session runs in a small VM of its own, with QEMU and KVM, and the VM stops with the session. Join the kvm group and install QEMU. As root, Range runs natively as before, and now loads the nbd module itself.

  • --mount .:/work shares a directory of this machine, read-write.
  • -p 8000:8000 publishes a port of the environment, and -e KEY=VALUE sets a variable.
  • Once a session reads an eighth of a large layer, Range downloads the rest of that layer whole. On a Mac, every cold run in our benchmark is now faster than Docker Desktop: pip install 12.2 s against 17.4 s, cargo build 15.2 s against 16.7 s.
  • Range keeps each image's layout, so a warm open reads no layer index. A warm range run python:3.12 is ready in 0.6 s on a Mac and 0.8 s in the Linux VM.
  • Kept image layers stay within --cache-size, least recently used out first.
  • A session ends when range ends, even when something kills range.
curl -fsSL https://github.com/andreygrehov/range/releases/latest/download/range_$(uname -s)_$(uname -m).tar.gz | tar -xz
./range shell python:3.12