Limits
ducounts every clone at full size. Usenaspeed status(unshared bytes) ordfinstead.- Artifacts built before naspeed differ between target dirs, because rmeta embeds
OUT_DIR. The real disk saving comes from rebuilding through naspeed (cargo clean, then build).gc --dedupmainly recovers identical build-script output. NASPEED_DISABLE=1affects only later builds. Cargo does not fingerprint the wrapper, so restored artifacts stayFresh. To drop them, usenaspeed purge --target <dir>orcargo clean.- If the store volume is missing or read-only, every call passes through.
- On a volume without clone support (ext4, NTFS, other filesystems), naspeed still speeds builds up but saves no disk. On Windows, put projects and the store on a Dev Drive (ReFS) for block clones.
- Windows: build-script runs are not cached (their compilation is). The run cache swaps the script binary for a shell launcher, and Windows only runs
.exebuild scripts.ns testhas no runtime input tracer there, so test results are keyed on declared inputs only (as withNASPEED_TEST_TRACE=0).ns devstops the app with Ctrl-Break and then ends its job object instead of SIGTERM/SIGKILL.setup --crossandnaspeed build <triple>.<glibc>need POSIX shell shims, so they are not available on Windows hosts, andns releasebeforehooks run withsh(Git for Windows provides it). The xattr memos live in NTFS/ReFS alternate data streams.cow_mode = "hardlink"acts asautothere: hard links share the read-only attribute of store objects, so rustc could not overwrite them. - The msvc target needs LLVM (
clang-cl,lld-link,llvm-lib) andxwin. The Microsoft CRT and SDK are only downloaded after--accept-msvc-license, into<store>/xwin.