Performance: Improve join order in data flow library#6165
Performance: Improve join order in data flow library#6165aschackmull merged 1 commit intogithub:mainfrom
Conversation
8967498 to
77f3762
Compare
|
Differences jobs all look good to me! |
Really? CPP looks like it has a consistent slowdown in Also, these 3 pragmas forces |
I think that is just noise, but better to have @MathiasVP confirm. |
Yeah, it's hard to imagine how this PR could cause something like that, but it just looks so consistent. |
It didn't look particularly consistent to me (6 slower projects, 2 unchanged, 5 faster), and the increase in total time is only 0.7%. I don't know how much noise there is in the Differences jobs but less than 1% definitely seems like noise. |
I think we also need the pragmas on It's not enough to just have |
The introduced pragmas won't put |
77f3762 to
8354f66
Compare
Right, I follow now and agree we should be able to remove the other two pragmas. I've pushed a commit doing this, not sure if we want to profile again (I've checked both the queries that had bad join orders at some point locally and they are both 👍🏼). |
Follows on from #6149
This adds a few more
pragmas that are unfortunately needed to convince the optimiser to pick the right join order for this predicate in a few cases. This should hopefully fix the remaining regression from the optimiser's recent heuristics change.cc. @github/codeql-core
Differences jobs
C++: https://jenkins.internal.semmle.com/job/Changes/job/CPP-Differences/2125/
Python: https://jenkins.internal.semmle.com/job/Changes/job/Python-Differences/596/
C#: https://jenkins.internal.semmle.com/job/Changes/job/CSharp-Differences/1163/
Java: https://jenkins.internal.semmle.com/job/Changes/job/Java-Differences/1479/