[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[creduce-dev] cache

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.