add code and test caching performance