spinel-coop/rv

[epic] Make caching real good

Open

#414 建立於 2026年1月25日

在 GitHub 查看
 (2 留言) (2 反應) (0 負責人)Rust (46 fork)user submission
good first issue

倉庫指標

Star
 (1,706 star)
PR 合併指標
 (平均合併 4天 18小時) (30 天內合併 14 個 PR)

描述

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

貢獻者指南