-
-
Notifications
You must be signed in to change notification settings - Fork 105
Allow building multiple build targets in parallel #545
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
Conversation
Pass -j X or --jobs=X to start X build process in parallel to speed up building applications with multiple targets (with the cost of more memory).
Might be better to contribute to the discussion/progress of #539 instead of introducing a new approach? |
I was thinking about that... but I think this is about building things in parallel, while the other one is fetching things in parallel... which of course will be very confusing if we have two flags to control these. |
Oh sorry, I didn't notice this was for building. But yea, that's a good point. Maybe the flag could be consolidated/generalized to support both cases? |
Maybe, but having a default > 1 might cause memory issues as each build process uses quite a lot of memory. Hence you might want different defaults for --jobs and --parallel-fetch.. |
I don't like this because I don't want And there are many alternatives. If you use an actual build system (which I would recommend for any project), it probably already has an option for parallel building ( |
Agree. If both get added they definitely need to have two separate flags. In bundler --jobs means: Our own --jobs flag can only be compatible with one of them, not both at the same time. Since shards is conceptually closer to bundler than make, I would vote for If this one should also be added then I'd suggest to call the flag here --parallel-build (or similar).
I'd be inclined to agree with this as well. The default for this will probably always have to be And at that point they could as well replace it with something involving I suppose the argument for having this functionality baked in could be |
This is that kind of feature that at first looks very nice, but then you notice that we are crossing the borders between a dependency manager and a building tool... years later you notice that you just wrote a bad version of |
Pass -j X or --jobs=X to start X build process in parallel to speed up
building applications with multiple targets (with the cost of more
memory).