Execution Cache
This is how we draw execution or evaluation caches.
This is interpreted as:
-
check the timestamps of the Cache vs the Input, and if the former is not out of date:
-
optimize the exection path inside Process in some way, perhaps by eliding some or all of the Process.
Motivation
Here's a way to think of this:
In this diagram there is an Intermediate File between Process1 and Process2. If we check the timestamp of that against the Input File, we can potentially elide Process1.
Or, to draw it another way, we can combine Process1 and Process2
into a single Composite Process,
and move the Intermediate File
down below.
Note: This is an example of how we can think of many of the patterns as graph transformations. Any time we find a file between two processes, we have an opportunity to cache.