spinel-coop/rv

[epic] Make caching real good

Open

#414 opened on 2026年1月25日

GitHub で見る
 (0 comments) (2 reactions) (0 assignees)Rust (1,706 stars) (46 forks)user submission
good first issue

説明

We have several significant opportunities to improve the ways rv caches things to make the things we do often really fast:

  • set up the cacache crate for the other parts of rv to use
  • unpack ruby and gem tarballs into our cacache, so we only store each file once even if it is in multiple versions of a gem
  • install gems by copy-on-write hardlinking the files in that gem from cacache into the install directory, instead of unpacking tarballs
  • after compiling native extensions, copy the results into cacache. on future installs simply hardlink those files as well, so any particular machine will never compile a gem more than once
  • put git gem clones into the global cache, so you never have to do a full checkout of a git repo (eg rails) a second time

コントリビューターガイド