-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Analysis of module-ified TypeScript compiler repo takes >6 hours, normally 6 minutes #10937
Comments
FWIW each of these get stuck at Happy to provide any info, logs, etc as needed. I just downloaded https://github.com/github/codeql-action/releases/tag/codeql-bundle-20221010, then did:
|
Thanks for the report. I've been able to reproduce this blow-up locally (CLI 2.11.2 for extraction, locally built main for evaluation). Pinging @github/codeql-javascript for further performance analysis. My preliminary findings are that the |
Thanks for that, you inspired some great performance improvements to our global dataflow analysis. Both me and @asgerf found some improvements, and the combination of those improvements gets Asgers fix just got merged, so the next CodeQL release will be able to analyze the module-ified code without issues. Closing as the issue has been fixed. |
Wonderful, thank you! |
Description of the issue
The TypeScript repo uses the CodeQL action, with the default
javascript-queries
set. For TypeScript 5.0, we're going to be changing the codebase from namespaces to modules. However, in my testing of that new compiler, I noticed that the CodeQL workflow would always time out at 6 hours. See: https://github.com/microsoft/TypeScript/actions/runs/3229429756/jobs/5286722214I ran CodeQL locally, and it looks like it gets stuck on these queries:
Letting these run to completion overnight took upwards of 9 hours on my beefy machine.
I ignored these queries on my fork of TypeScript, and that brought the analysis time down to about 7 minutes on the builder: https://github.com/jakebailey/TypeScript/actions/runs/3298853660/jobs/5441505083
I'm not quite sure what the problem is here; it could be the circularities in the new codebase (which are now explicit, rather than being hidden in namespaces without explicit imports). Or, it's just that now there are imports, which exposes the dependencies between files properly (for the same reason).
The branch to test is located here: https://github.com/jakebailey/TypeScript/tree/typeformer-2
The text was updated successfully, but these errors were encountered: