Replies: 3 comments 8 replies
-
It's worth considering if you can do what Mill does. Mill's approach to caching is, approximately, as follows:
That's really it. Some nice properties:
In general, Mill's approach means that both metadata and files go through the same code paths, and can be treated largely interchangeably. This greatly simplifies things, and allows all sorts of |
Beta Was this translation helpful? Give feedback.
-
Pretty-printing is expensive, but we have some tree hashing logic used internally for incremental compilation of inline defs that we could potentially expose in the meta-programming APIs if we take the time to make it more robust: https://github.com/lampepfl/dotty/blob/7226ba60d443fae040ab5a95294ff773d6b71775/compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala#L692-L785 |
Beta Was this translation helpful? Give feedback.
-
I would love to push what Mill does even further, and cache things globally, or at least allow reusing caches when jumping between branches. e.g.
|
Beta Was this translation helpful? Give feedback.
-
https://eed3si9n.com/sbt-cache-ideas/
Beta Was this translation helpful? Give feedback.
All reactions