I added a cache into the getFilterOptions() method. Maybe it is not perfect but it solved an performance issue into my project, where the size of options counts 4000 items.
While I agree that a caching solution might come in handy, I am not happy with the current implementation in this PR. The cache invalidation is way too cumbersome and hard coded, we should agree upon a generic cache layer. This also means a new feature and will come with 2.1.0 earliest.