aloof-angle-91616
09/27/2020, 2:52 PMdigest_hint
in PathGlobsAndRoot
anywhere. were we doing that manually in the parallel RscCompile
task before? i'm looking to see whether we could support an optimization to avoid snapshotting process execution output files/directories that we already know about as per this comment on the mutable caches doc (which i didn't know was already implemented -- this is super awesome): https://docs.google.com/document/d/1n_MVVGjrkTKTPKHqRPlyfFzQyx2QioclMG_Q3DMUgYk/edit?disco=AAAAIva7gMwaloof-angle-91616
09/27/2020, 3:37 PMhundreds-father-404
09/27/2020, 4:01 PMaloof-angle-91616
09/27/2020, 4:01 PMaloof-angle-91616
09/27/2020, 4:04 PMaloof-angle-91616
09/27/2020, 4:05 PMaloof-angle-91616
09/27/2020, 4:11 PMnotify
works for caches like mypy'saloof-angle-91616
09/27/2020, 4:13 PMaloof-angle-91616
09/27/2020, 4:20 PMdigest_hint
files can make pex invocations remotable while retaining the cache dir, so i think both have immediate use caseshundreds-father-404
09/27/2020, 4:24 PMaloof-angle-91616
09/27/2020, 4:27 PMProcess
execution (maybe a wrapper struct, or a separate field that says how to create the daemon), we could make it use the same kind of cache with a symlinkaloof-angle-91616
09/27/2020, 4:30 PMaloof-angle-91616
09/27/2020, 5:55 PMclient
process is expected to handle that part. it slightly modifies the API for nailgunnable processes -- all of that is freely bikeshedable. lmk if this was already done: https://docs.google.com/document/d/1hSspjRLGO05-tB16NevvUW87rqIKHjUZJ4xv2YfCL1c/edit?usp=sharingwitty-crayon-22786
09/27/2020, 6:06 PMaloof-angle-91616
09/27/2020, 6:07 PMwitty-crayon-22786
09/27/2020, 6:10 PMaloof-angle-91616
09/27/2020, 6:11 PMaloof-angle-91616
09/27/2020, 6:29 PMaloof-angle-91616
09/27/2020, 9:58 PMwitty-crayon-22786
09/27/2020, 10:03 PMaloof-angle-91616
09/27/2020, 10:04 PMwitty-crayon-22786
09/27/2020, 10:04 PMaloof-angle-91616
09/27/2020, 10:05 PMaloof-angle-91616
09/27/2020, 10:05 PMwitty-crayon-22786
09/27/2020, 10:06 PMaloof-angle-91616
09/27/2020, 10:06 PMbrfs
crate literally once so that seems like it might be a generally useful workstreamaloof-angle-91616
09/27/2020, 10:07 PMaloof-angle-91616
09/27/2020, 10:08 PMwitty-crayon-22786
09/27/2020, 10:10 PMaloof-angle-91616
09/27/2020, 10:13 PMaloof-angle-91616
09/27/2020, 10:20 PMpath
in every single json file (i believe there are only json files). this could be rewritten with some json parser although i suspect more quickly with regexaloof-angle-91616
09/27/2020, 10:20 PM<.mypy_cache/3.5/uuid.meta.json jq '.' | g '/Users'
(standard input):62: "path": "/Users/dmcclanahan/tools/pex/.tox/typecheck/lib/python3.8/site-packages/mypy/typeshed/stdlib/2and3/uuid.pyi",
aloof-angle-91616
09/27/2020, 10:21 PMaloof-angle-91616
09/27/2020, 10:22 PM> find .mypy_cache -type f | sed -re 's#.*(\.[^\.]+)#\1#g' | sort -u
.gitignore
.json
aloof-angle-91616
09/27/2020, 10:24 PMaloof-angle-91616
09/27/2020, 10:24 PM> find .mypy_cache -type f | parallel "echo -n '{}:' && jq -r '.path' <{}" | head -n3
.mypy_cache/3.5/test_resolver.meta.json:tests/test_resolver.py
.mypy_cache/3.5/atexit.meta.json:/Users/dmcclanahan/tools/pex/.tox/typecheck/lib/python3.8/site-packages/mypy/typeshed/stdlib/3/atexit.pyi
.mypy_cache/3.5/pex/testing.data.json:pex/testing.py
aloof-angle-91616
09/27/2020, 10:25 PMaloof-angle-91616
09/27/2020, 10:33 PMaloof-angle-91616
09/27/2020, 10:36 PMwitty-crayon-22786
09/27/2020, 10:41 PMwitty-crayon-22786
09/27/2020, 10:42 PMaloof-angle-91616
09/27/2020, 10:42 PMaloof-angle-91616
09/27/2020, 10:42 PMaloof-angle-91616
09/27/2020, 10:43 PMmtime
key in the *.meta.json
. will add thataloof-angle-91616
09/27/2020, 10:43 PMdata_mtime
), oh botheraloof-angle-91616
09/27/2020, 10:44 PMplatform
, which is still fine i thinkaloof-angle-91616
09/27/2020, 10:52 PMaloof-angle-91616
09/27/2020, 10:52 PMaloof-angle-91616
09/27/2020, 11:01 PMaloof-angle-91616
09/27/2020, 11:01 PMaloof-angle-91616
09/27/2020, 11:02 PMbrfs