Skip to content

Conversation

@jbj
Copy link
Contributor

@jbj jbj commented Jun 30, 2020

The first commit makes it feasible to run C++ IR data-flow queries on oneapi-src/oneDNN, and the second makes it fast.

The second commit works around a join order problem that I've reported as https://github.com/github/codeql-coreql-team/issues/453.

I'll take this PR out of draft mode if *-Differences show no performance regressions.

jbj added 2 commits June 30, 2020 21:06
This relation was originally introduced to improve performance but may
no longer be necessary. The `localFlowStepPlus` predicate had an
explosion of tuples on oneapi-src/oneDNN for C++.
In this non-linear recursion, a `#prev` relation was joined earlier than
the `#prev_delta` relation. As a result, each iteration of the predicate
processes every tuple from previous iterations.

This quadratic behavior caused severe slowdowns on oneapi-src/oneDNN.
@jbj
Copy link
Contributor Author

jbj commented Jun 30, 2020

I've started Differences jobs for C/C++, C# and Java.

@jbj jbj marked this pull request as ready for review July 1, 2020 11:21
@jbj jbj requested review from a team as code owners July 1, 2020 11:21
@jbj
Copy link
Contributor Author

jbj commented Jul 1, 2020

Performance seems to be no worse than before. Are the results diffs for Java and C# just noise? I'm not even sure they're in queries that would be affected by this PR.

@hvitved
Copy link
Contributor

hvitved commented Jul 1, 2020

Are the results diffs for Java and C# just noise?

For C#: yes :-/

@aschackmull
Copy link
Contributor

Java as well, those two results can for some reason not be matched, so they show up as removed and re-introduced in every single Java-Differences.

@aschackmull aschackmull merged commit 7d05759 into github:master Jul 1, 2020
max-schaefer pushed a commit to max-schaefer/codeql-go that referenced this pull request Jul 1, 2020
max-schaefer pushed a commit to max-schaefer/codeql-go that referenced this pull request Jul 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants