
http://www.haskell.org/pipermail/cvs-ghc/2009-October/050928.html Shelby Moore wrote:
One possible runtime optimization to provide an upper bound for cache control, might be to not cache thunks when the runtime computation time times number of cache hits, is less than the round-trip paging time multiplied by recent system paging load.
Is this novel? Is it useful?
Clarify and improve: One possible idea for runtime optimization to provide a more deterministic upper bound on paging load for cache control, might be to not cache thunk-wise when for each thunk, the total tree of computation time under the thunk multiplied by the number of cache hits on the thunk, is less than the round-trip paging time of thunks under the tree multiplied by a chosen factor of recent system paging load. Or toggle the test on and off on a chosen threshold of recent system paging load. Obviously "heap size" could be substituted for "paging load", but my goal is to make the optimization resolution independent, i.e. orthogonal to system configuration such as RAM size, speed, virtual media size, algorithm, etc.. The "catch-22" of the idea if any, probably derives from the permutations of computation time from the lazy computation of thunks under the tree? Note I realize this list is probably not the correct place to discuss research. I do not have time to do this research. Any suggestion where I could post or send this idea so people interested in this type of research could see it? Add a feature request to GHC bug tracker? To the general Haskell mailing list?