Skip to content
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

[RFE] binpack available jobs by historical timings #759

Closed
mathstuf opened this issue May 5, 2014 · 3 comments
Closed

[RFE] binpack available jobs by historical timings #759

mathstuf opened this issue May 5, 2014 · 3 comments

Comments

@mathstuf
Copy link
Contributor

mathstuf commented May 5, 2014

If Ninja could schedule available jobs using previous timings, faster compilation might be possible. See http://www.cmake.org/Bug/view.php?id=14898#c35793.

@nico
Copy link
Collaborator

nico commented May 5, 2014

That's true if you have jobs that are mostly independent and that have very different run lengths. I think that part is mostly a dupe of #232 maybe (which has some more discussion, and links to another issue with yet more discussion.)

(For cmake, I'm told that part of the reason this comes up so often (but not for this bug) is that cmake used to generate overconstrained dependencies. I'm told this is better in 2.8.12+.)

@nico nico closed this as completed May 5, 2014
@nico
Copy link
Collaborator

nico commented May 5, 2014

(Mostly note to self: Bugs on cmake dependencies: http://www.cmake.org/Bug/view.php?id=13799 http://www.cmake.org/Bug/view.php?id=14726#c35023)

@mathstuf
Copy link
Contributor Author

mathstuf commented May 5, 2014

Ah, yeah, #232 looks very similar. I'm actually fixing the CMake dependency constraints now :) . Basically, if liba depends on libb, all of liba's sources depend on libb's link step (this is to ensure that any custom commands which libb depends on which may be implicit at liba are satisfied). The solution is to break the sources' dependency on libb if libb's custom_command dependencies are a subset of liba's custom_command dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants