[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Just thinking aloud a bit here...
C-Reduce used to have a cache for delta tests. Since the test case
usually gets smaller, the cache only hits when C-Reduce's execution
becomes repetitive near the final fixpoint. The cache sometimes used a
lot of memory. I ended up taking it out when it got in the way of
debugging parallel execution.
But anyway I was thinking that most of the benefit could be gotten back
by doing caching at the level of passes instead of individual
transformations. So when we're about to invoke a pass, check in the
cache if this pass has seen this test input before. If so, replace it
with the output and move to the next pass. Again, this'll only speedup
the last round of execution, but that would be nice sometimes.