add 10k expression LRU cache, so we dont compile the expression every time