-
Notifications
You must be signed in to change notification settings - Fork 141
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
Experiment with parallel checking using make #1057
base: master
Are you sure you want to change the base?
Conversation
We have been doing something like that lately in the stdlib. I have an experiment using It would be nice to get insights from people who actually know some graph theory as |
This would be nice if I could easily control how many cores to use (I only have 8GB of RAM on my old laptop and don't like to run out...) Another feature request I have wrt the build system is to be able to just check a single package instead of the whole library, for example if I'm working on a particular package I don't want to be forced build some completely unrelated part of the library when checking that my changes doesn't destroy something downstream in the package I'm working on. |
This is easy to control right now with the stuff in this PR, you can just say |
That should automatically be the case with the stuff in this PR and also with the usual |
... assuming you want to know, if your changes really only affect the package you are working on. |
40e35e0
to
6642d76
Compare
This is just an experiment other people might be interested in, don't know if it is really something we want to merge.
The PR deletes a couple of files which do not type check (they were manually excluded from the CI).
On my machine, checking with a generated makefile:
checks everything in about 17m instead of the usual 30m. It does use all of my 32GB of RAM though.
This approach could also be used to check everything without
Everything.agda
s or similar, to actually check using less RAM.I also wondered about clustering/reducing the dependency graph, but didn't really get started on that (there is a python script for that).