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

Let bake determine optimal build order #140

Open
hbragge opened this issue Mar 31, 2017 · 2 comments
Open

Let bake determine optimal build order #140

hbragge opened this issue Mar 31, 2017 · 2 comments

Comments

@hbragge
Copy link

hbragge commented Mar 31, 2017

Currently dependency build order is defined (almost) explicitly by the order they appear in Project.meta file. With the parallel build support the order becomes crucial for total build duration, so it would make sense to release user from this optimization burden by letting bake figure out the optimal order. For example bake could prioritize targets with "sync points" and long running targets (could be hinted with a special keyword?).

Caution is needed to not break backward compatibility, eg. by breaking the include path order. Maybe include path order could still follow the "written" dependency order while the build order could be determined by bake?

@hbragge hbragge changed the title Let bake determine the dependency build order Let bake determine optimal build order Mar 31, 2017
@aschaal
Copy link
Contributor

aschaal commented Feb 12, 2018

"CommandLine" and "Makefile" have since a few versions an "independent" flag. If set to true, bake does not wait for completion before going on.

Maybe this does solve you problem?

@hbragge
Copy link
Author

hbragge commented Feb 12, 2018

Hi, thanks for info, worth looking at, maybe it removes the need to building "sync point" targets in the beginning.

However for the long running targets it would still be needed, because it's important to start building them early to avoid building them alone in the end with other stuff already finished. This is not very important feature though, because it can already be optimized by writing dependencies in a different order.

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