My poudriere server seems to have two classes of programs: those which compile in under two minutes, and llvm80-and-friends. Chromium, Firefox, Rust : they'll be over six hours. Do we have any references that can help us identify which ports will result in these long build times?
How do we know how long it took to build each program, and its dependencies, total?
I could drag through my past builds and try to find the elapsed times; but, I would like to know, including cumulative dependency build duration, how long does it take to build each program? I understand that there would be a lot of variance because of processing capacity from machine to machine.
Is there a way to use existing resources to gather this kind of data from a poudriere build without going through and manually noting each build time and tracking down the dependency tree by hand?
Maybe also show how much time might have been saved or consumed by having previously compiled dependencies on hand in the jail poudriere is using?
I thought this might be useful for identifying stalled builds and better understanding the quality of programs to be built together in a jail.
It's almost as though these majorly long builds need to be kicked and busted into smaller ports that can be collectively assembled as units in a reasonable amount of time. That, however, is another set of questions. Like, why is _____ port such a hideous build in the first place? Why would a port be created that requires so many hours of building and rebuilding? Then, when there are updates, why are we subjected to those long build times?
But, for now, I would like to find out: Is there a way to find out about sum build times?
How do we know how long it took to build each program, and its dependencies, total?
I could drag through my past builds and try to find the elapsed times; but, I would like to know, including cumulative dependency build duration, how long does it take to build each program? I understand that there would be a lot of variance because of processing capacity from machine to machine.
Is there a way to use existing resources to gather this kind of data from a poudriere build without going through and manually noting each build time and tracking down the dependency tree by hand?
Maybe also show how much time might have been saved or consumed by having previously compiled dependencies on hand in the jail poudriere is using?
I thought this might be useful for identifying stalled builds and better understanding the quality of programs to be built together in a jail.
It's almost as though these majorly long builds need to be kicked and busted into smaller ports that can be collectively assembled as units in a reasonable amount of time. That, however, is another set of questions. Like, why is _____ port such a hideous build in the first place? Why would a port be created that requires so many hours of building and rebuilding? Then, when there are updates, why are we subjected to those long build times?
But, for now, I would like to find out: Is there a way to find out about sum build times?