Grant Henke has uploaded this change for review. ( http://gerrit.cloudera.org:8080/13650
Change subject: KUDU-2846 (part 2): optimize IS [NOT] NULL predicates ...................................................................... KUDU-2846 (part 2): optimize IS [NOT] NULL predicates This does a simple optimization to use bitwise ops on the selection and null vectors to implement NOT NULL and NULL, rather than the current branchy code. The speedup is about 75x. Before: int32 NULL (c IS NULL) 615.9M evals/sec 4.54 cycles/eval int32 NOT NULL (c IS NOT NULL) 636.3M evals/sec 4.39 cycles/eval int32 NULL (c IS NOT NULL) 645.3M evals/sec 4.33 cycles/eval After: int32 NULL (c IS NULL) 46811.4M evals/sec 0.03 cycles/eval int32 NOT NULL (c IS NOT NULL) 45706.1M evals/sec 0.03 cycles/eval int32 NULL (c IS NOT NULL) 48855.0M evals/sec 0.03 cycles/eval Change-Id: I14fb75c7c330e2415fd7a877186f7ed41a1accce Reviewed-on: http://gerrit.cloudera.org:8080/13639 Tested-by: Kudu Jenkins Reviewed-by: Andrew Wong <[email protected]> (cherry picked from commit fe7c1575946f8ace3eaaea8adf1d03caf4da3c34) --- M src/kudu/common/column_predicate-test.cc M src/kudu/common/column_predicate.cc 2 files changed, 42 insertions(+), 24 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/50/13650/1 -- To view, visit http://gerrit.cloudera.org:8080/13650 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.10.x Gerrit-MessageType: newchange Gerrit-Change-Id: I14fb75c7c330e2415fd7a877186f7ed41a1accce Gerrit-Change-Number: 13650 Gerrit-PatchSet: 1 Gerrit-Owner: Grant Henke <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]>
