Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance regression after reordering optimizer pipeline #4084

Closed
hmottestad opened this issue Jul 27, 2022 · 3 comments · Fixed by #4085
Closed

Performance regression after reordering optimizer pipeline #4084

hmottestad opened this issue Jul 27, 2022 · 3 comments · Fixed by #4085
Assignees
Labels
Milestone

Comments

@hmottestad
Copy link
Contributor

hmottestad commented Jul 27, 2022

GH-3969 moves the filter optimizer causing a performance regersion.

@hmottestad hmottestad self-assigned this Jul 27, 2022
@hmottestad hmottestad added this to the 4.1.0 milestone Jul 27, 2022
@hmottestad
Copy link
Contributor Author

hmottestad commented Jul 27, 2022

Current (main branch)

Benchmark                                                     Mode  Cnt     Score   Error  Units
QueryBenchmark.complexQuery                                   avgt          1.532          ms/op
QueryBenchmark.different_datasets_with_similar_distributions  avgt       3620.350          ms/op  <---
QueryBenchmark.groupByQuery                                   avgt          0.724          ms/op
QueryBenchmark.long_chain                                     avgt        271.970          ms/op
QueryBenchmark.lots_of_optional                               avgt         53.329          ms/op
QueryBenchmark.minus                                          avgt       2437.301          ms/op
QueryBenchmark.nested_optionals                               avgt         75.727          ms/op
QueryBenchmark.pathExpressionQuery1                           avgt          7.214          ms/op
QueryBenchmark.pathExpressionQuery2                           avgt          1.137          ms/op
QueryBenchmark.query_distinct_predicates                      avgt         62.587          ms/op
QueryBenchmark.simple_filter_not                              avgt          3.138          ms/op

@hmottestad
Copy link
Contributor Author

hmottestad commented Jul 27, 2022

After reverting the order of the optimizer pipeline

Benchmark                                                     Mode  Cnt     Score   Error  Units
QueryBenchmark.complexQuery                                   avgt          1.454          ms/op
QueryBenchmark.different_datasets_with_similar_distributions  avgt          0.724          ms/op  <---
QueryBenchmark.groupByQuery                                   avgt          0.853          ms/op
QueryBenchmark.long_chain                                     avgt        263.109          ms/op
QueryBenchmark.lots_of_optional                               avgt         54.652          ms/op
QueryBenchmark.minus                                          avgt       2432.936          ms/op
QueryBenchmark.nested_optionals                               avgt         73.267          ms/op
QueryBenchmark.pathExpressionQuery1                           avgt          7.990          ms/op
QueryBenchmark.pathExpressionQuery2                           avgt          1.122          ms/op
QueryBenchmark.query_distinct_predicates                      avgt         63.506          ms/op
QueryBenchmark.simple_filter_not                              avgt          2.877          ms/op

@hmottestad
Copy link
Contributor Author

hmottestad commented Jul 27, 2022

@jeenbroekstra moving the filter optimizer before the join optimizer had some unforseen performance issues with one of the benchmarks. I'm going to revert the change for now.

hmottestad added a commit that referenced this issue Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant