Tim Armstrong has posted comments on this change. Change subject: Use AVX2 operations to speedup Bloom filters by 10-100%. ......................................................................
Patch Set 5: (4 comments) http://gerrit.cloudera.org:8080/#/c/3338/5/be/src/util/bloom-filter.h File be/src/util/bloom-filter.h: PS5, Line 158: constats typo: constants Line 187: if (CpuInfo::IsSupported(CpuInfo::AVX2)) { Since this affects the data layout rather than switching between two equivalent functions, can we make this a property of the class, e.g. 'use_avx2_'? I could maybe be persuaded otherwise, but this makes the state of the bloom filter more self-contained. Line 246: _mm256_zeroupper(); Is there some reason we need to zero them here but not in the Find() implementation below? Line 258: const __m256i mask = _mm256_sllv_epi32(ones, hash_data); The logic to compute the mask is identical to above, right? Can we make it a common function. -- To view, visit http://gerrit.cloudera.org:8080/3338 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6fef4f6652876f8fd7e3f0e41431702380418c98 Gerrit-PatchSet: 5 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Jim Apple <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Jim Apple <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
