[opt](expr) Remove FixedContainer optimization for StringValueSet#62243
[opt](expr) Remove FixedContainer optimization for StringValueSet#62243BiteTheDDDDt merged 2 commits intoapache:masterfrom
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run buildall |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run performance |
|
run nonConcurrent |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
What problem does this PR solve?
Benchmark results show that
FixedContainer(SIMD linear scan) is slower thanDynamicContainer(hash set) forstd::string/StringRefwhen N >= 2. The FixedContainer optimization only benefits integer types at small sizes, but hurts string lookups due to expensive comparisons scaling linearly with N.This PR removes the
FixedContainerspecialization fromcreate_string_value_set, always using the hash-basedDynamicContainerinstead.Additionally fixes deprecated
DoNotOptimizewarnings in benchmark files and adds a newFixedContainervsDynamicContainerbenchmark.Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)