Dan Hecht has posted comments on this change. Change subject: Use AVX2 operations to speedup Bloom filter insert by 10-50%. ......................................................................
Patch Set 4: (1 comment) http://gerrit.cloudera.org:8080/#/c/3338/4/be/src/util/bloom-filter.h File be/src/util/bloom-filter.h: Line 160: if (CpuInfo::IsSupported(CpuInfo::AVX2)) { We should standardize on one way to dispatch based on CPUs. According to this page: https://gcc.gnu.org/wiki/FunctionMultiVersioning, GCC also has built in support for this if you define two versions of BucketInsert(), one with "default" target and one with "avx2" target. It doesn't sound like it patches the code directly, though, so still incurs a runtime cost of dispatching (sounds like they are using "jmp *ptr"). Have you looked at that to see which way would be better? -- 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: 4 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
