OOPS relies on caching to optimize performance, so code to implement this occurs throughout OOPS, several instances of which are identical. A cache module would consolidate this functionality into one place and make it easier to maintain and test.
The benefit of this consoldidation is illustrated the frames module where several classes use identical code to implement caching. In the upgrade from python2 to python3 (where the .keys() and .values() methods work differently), not all of those modules were updated and the unit tests did not catch the error.
OOPS relies on caching to optimize performance, so code to implement this occurs throughout OOPS, several instances of which are identical. A cache module would consolidate this functionality into one place and make it easier to maintain and test.
The benefit of this consoldidation is illustrated the frames module where several classes use identical code to implement caching. In the upgrade from python2 to python3 (where the .keys() and .values() methods work differently), not all of those modules were updated and the unit tests did not catch the error.