Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3360

Unroll loops / replace types in filter logic in PHJ::ProcessBuildBatch()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • Impala 2.6.0
    • Impala 2.11.0
    • Backend

    Description

      This code can be optimized for codegen:

      for (const FilterContext& ctx: filters_) {
              if (ctx.local_bloom_filter == NULL) continue;
              void* e = ctx.expr->GetValue(build_row);
              uint32_t filter_hash = RawValue::GetHashValue(e, ctx.expr->root()->type(),
                  RuntimeFilterBank::DefaultHashSeed());
              ctx.local_bloom_filter->Insert(filter_hash);
            }
      

      Note also that we know ahead of time whether ctx.local_bloom_filter will be NULL, so we could prepare a list of non-null filters and only iterate over that.

      Attachments

        Issue Links

          Activity

            People

              twmarshall Thomas Tauber-Marshall
              henryr Henry Robinson
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: