in reply to Testing objects that cache
Scaling up the load of your normal tests will show if your
code "works" in a pragmatic sense. That is difficult in your case or you have undisclosed motives.
Using Devel::Cover could verify that your caching code is being exercised.
If your cache is implemented with a call tree, i.e.
there are packages that will insert code at the entry or exit of a set of routines. This would let you insert a logging function into fetch and _cached_fetch to generate statistics on cache performance. I cannot think of the name for this type of function modification.sub fetch { return _cached_fetch($_[1]) if _cached( $_[1] ); return _via_normal_retrieval( $_[1] ); }
The insert code could be something like
cleaned up for log readability.sub log_cache { local $, = " "; print SOMEWHERE "MyObj cache called", caller(1), "w/",$_[1],$/; }
Be well,
rir
|
---|
In Section
Seekers of Perl Wisdom