iceberg-python
iceberg-python copied to clipboard
Feat cache residual evaluator
Closes #2147
- Implement ResidualEvaluatorCache with LRU eviction and thread safety
- Cache evaluators by partition spec, expression, case sensitivity, and schema
Rationale for this change
For queries, the same combinations of (partition spec, expression, case sensitivity, schema) are evaluated repeatedly, causing unnecessary computational overhead and increased query latency.
Are these changes tested?
Yes, using the existing test cases as they seemed sufficient for the changes.
Are there any user-facing changes?
No.