Tim Murphy wrote:
Hi,
I'm nobody official. I have seen Electric Accelerator using history
files which may be doing something a bit like this.
...
So I, personally, want something that learns. I would like to be able
to store the learned information into source control and use it as the
basis for the next attempt. One would have to check for patents on
this, I think.
Hi Tim!
ElectricAccelerator doesn't factor runtimes into scheduling decisions,
although we have talked about doing so in the past. I spent some time
investigating the possibility, most recently a couple years ago. What I
did was tweak the Simulator report in ElectricInsight to simulate this
kind of scheduling, so each time it chooses the next job to "run", it
picks the longest job of those that are available to start. I ran the
simulation on a variety of real-world builds.
Unfortunately, the results were disappointing. In my recollection, the
best case gave a savings of about 5% of the total build time, and in
general it was barely measurable -- maybe 1%. It seems that in
practice, most of the jobs in a build are about the same length. The
notable exception is the final link, which is of course much longer.
But then -- of course -- that can't start until all the other jobs are
done anyway, so the fancy scheduling doesn't help.
I'll see if I can dig up the patch for ElectricInsight and maybe write
it up in a blog. up that code, and maybe write it up in a blog.
Cheers!
Eric Melski
Architect
Electric Cloud, Inc.
http://blog.electric-cloud.com/
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make