Michael Smith has posted comments on this change. ( http://gerrit.cloudera.org:8080/21484 )
Change subject: IMPALA-12800: Add null slots cache ...................................................................... Patch Set 4: (1 comment) http://gerrit.cloudera.org:8080/#/c/21484/3/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/21484/3/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@541 PS3, Line 541: // Null slots cache - for expressions with slots replaced by nulls - to reduce : // backend expression evaluation when query contains many similar expressions. : private final Map<Expr, Boolean> isTrueWithNullSlotsCache = new HashMap<>(); : : // Track null slots cache hits. : private int isTrueWithNullSlotsCacheHits = 0; : : // Track null slots cache misses. : private int isTrueWithNullSlotsCacheMisses = 0; > cache_ in CatalogMetaProvider is heavyweight, system-wide, and long lived. Switched to Guava cache, I don't see any performance loss compared to what I had before. I didn't add a maximumSize because limiting it to less than all the expressions showed a measurable performance loss, and I don't think there's a universal maximum that makes sense. Open to future improvements here. -- To view, visit http://gerrit.cloudera.org:8080/21484 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib63f5553284f21f775d2097b6c5d6bbb63699acd Gerrit-Change-Number: 21484 Gerrit-PatchSet: 4 Gerrit-Owner: Michael Smith <[email protected]> Gerrit-Reviewer: Daniel Becker <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Riza Suminto <[email protected]> Gerrit-Comment-Date: Thu, 06 Jun 2024 22:28:04 +0000 Gerrit-HasComments: Yes
