impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Apple (Code Review)" <>
Subject [Impala-CR](cdh5-trunk) Use AVX2 operations to speedup Bloom filters by 10-100%.
Date Tue, 14 Jun 2016 21:15:10 GMT
Hello Tim Armstrong,

I'd like you to reexamine a change.  Please visit

to look at the new patch set (#6).

Change subject: Use AVX2 operations to speedup Bloom filters by 10-100%.

Use AVX2 operations to speedup Bloom filters by 10-100%.

As a reminder, our Bloom filters use so-called "block" Bloom filters,
in which each Bloom filter is actually a set of tiny Bloom fitlers,
each the size of a cache line.

The big idea is to make the tiny Bloom filters that make up a large
Bloom filter the size of AVX2 registers (256 bits) rather than cache
lines (512 bits). This enables a number of SIMD optimizations, and the
resulting AVX2 code does not need loops or conditionals.

Impala supports machines that do not have AVX2 instructions, so the
fast path is only conditionally enabled. Checking whether AVX2
instructions are available does not seem to hurt operation speed,
perhaps because the branch becomes very easy to predict.

Change-Id: I6fef4f6652876f8fd7e3f0e41431702380418c98
M be/src/benchmarks/
M be/src/util/
M be/src/util/
M be/src/util/bloom-filter.h
M be/src/util/
M be/src/util/cpu-info.h
6 files changed, 358 insertions(+), 126 deletions(-)

  git pull ssh:// refs/changes/38/3338/6
To view, visit
To unsubscribe, visit

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I6fef4f6652876f8fd7e3f0e41431702380418c98
Gerrit-PatchSet: 6
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Jim Apple <>
Gerrit-Reviewer: Dan Hecht <>
Gerrit-Reviewer: Jim Apple <>
Gerrit-Reviewer: Tim Armstrong <>

View raw message