[ https://issues.apache.org/jira/browse/KUDU-2846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon resolved KUDU-2846. ------------------------------- Resolution: Fixed Assignee: Todd Lipcon Fix Version/s: 1.10.0 Calling this complete for now. A few ideas for future work while this is fresh in my mind: - for string equality, we could likely vectorize the portion where we check length for equality - for dictionary-coded columns, we can probably vectorize the predicate evaluation against the dictionary code words (KUDU-2854) - for small IN lists, we can probably implement them more efficiently (KUDU-2853 has some ideas) > Special case predicate evaluation for SIMD support > -------------------------------------------------- > > Key: KUDU-2846 > URL: https://issues.apache.org/jira/browse/KUDU-2846 > Project: Kudu > Issue Type: Improvement > Components: perf, tserver > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Priority: Major > Fix For: 1.10.0 > > > In the common case of predicate evaluation on primitive types, we can likely > improve performance as follows: > - doing the comparisons while ignoring nullability and selectedness (any null > or unselected cells may have junk data, which causes a junk comparison result) > - take the resulting bitmask of comparison results and use bitwise ops to > account for null/unselected cells to ensure that those result in a 'false' > comparison > For some types of comparisons this can result in SIMD operations. For others, > at least, this will remove most branches from the path. This should speed up > queries like TPCH Q6 which spends 25% of its time in predicate evaluation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)