win_rel got 21 minutes faster on average

58 views
Skip to first unread message

Marc-Antoine Ruel

unread,
Nov 12, 2012, 9:56:39 AM11/12/12
to chromium-dev
The average compile time was reduced by 45%, it went from 48.3 minutes down to 26.6 minutes.

As a data point on November 10th, there was 185 win_rel try jobs so this represents an estimated saving of 64 hours of computation power on this Saturday alone.

What changed?
The Try Builders used to implicitly build "all". This is not the case anymore with CL 11365154. Ironically I looked at it for the test isolation effort which is in progress (there will be news soon).

This is important, the default try builders (win_rel, linux_rel, mac_rel, linux_clang, mac_asan, etc) used to build 'all' and now build 'chromium_builder_tests'. If you relied on a target that wasn't included in this target, it's not built anymore but there could still be left overs in the build directories from the previous configuration as I didn't force a clobber build. 'win_ash' now builds 'aura_builder'. Some builders like linux_chromeos or win_layout_rel weren't changed and could enjoy some attention but I don't know the specifics about what should be built on these so please send me a CL to fix this.

Expect more non-linear performance improvements in the near future.

Thanks,

M-A

Jói Sigurðsson

unread,
Nov 12, 2012, 10:00:37 AM11/12/12
to maruel...@google.com, chromium-dev
Awesome!!
> --
> Chromium Developers mailing list: chromi...@chromium.org
> View archives, change email options, or unsubscribe:
> http://groups.google.com/a/chromium.org/group/chromium-dev

Nico Weber

unread,
Nov 12, 2012, 11:37:43 AM11/12/12
to maruel...@google.com, chromium-dev
On Mon, Nov 12, 2012 at 6:56 AM, Marc-Antoine Ruel <mar...@chromium.org> wrote:
> The average compile time was reduced by 45%, it went from 48.3 minutes down
> to 26.6 minutes.
>
> As a data point on November 10th, there was 185 win_rel try jobs so this
> represents an estimated saving of 64 hours of computation power on this
> Saturday alone.
>
> What changed?
> The Try Builders used to implicitly build "all". This is not the case
> anymore with CL 11365154. Ironically I looked at it for the test isolation
> effort which is in progress (there will be news soon).

Cool!

When I suggested changing this in the past, it got rejected because
folks (you?) said that we should have at least some bot that builds
all targets. Do we have different bots for that now?

Nico

>
> This is important, the default try builders (win_rel, linux_rel, mac_rel,
> linux_clang, mac_asan, etc) used to build 'all' and now build
> 'chromium_builder_tests'. If you relied on a target that wasn't included in
> this target, it's not built anymore but there could still be left overs in
> the build directories from the previous configuration as I didn't force a
> clobber build. 'win_ash' now builds 'aura_builder'. Some builders like
> linux_chromeos or win_layout_rel weren't changed and could enjoy some
> attention but I don't know the specifics about what should be built on these
> so please send me a CL to fix this.
>
> Expect more non-linear performance improvements in the near future.
>
> Thanks,
>
> M-A
>

John Abd-El-Malek

unread,
Nov 12, 2012, 11:48:46 AM11/12/12
to maruel...@google.com, chromium-dev
(sending correctly this time)

Do you know which big binaries that we save building?

I thought we didn't want to build only a subset on the trybots because then that could lead to build failures on buildbots after commit?


On Mon, Nov 12, 2012 at 6:56 AM, Marc-Antoine Ruel <mar...@chromium.org> wrote:

--

Marc-Antoine Ruel

unread,
Nov 12, 2012, 11:51:46 AM11/12/12
to Nico Weber, chromium-dev, John Abd-El-Malek
I didn't look at the exact list of targets that are not built as I did it not do it for performance reasons. It's more tricky issues about things that must not be built by default; e.g. the *_run targets must not be built unless necessary otherwise it's archiving hundreds of MB of data for no good reason.

Only the builders on http://build.chromium.org/p/chromium/waterfall build "all" and they are not cycling as fast as the incremental builders. Many times I saw the try builders fails a compile because one of the target outside of chromium_build_testers instead of the reverse.

We didn't want to do it before because it's still a dangerous move but overall, the trade off of keeping 'all' by default is not worth as shown in the performance improvement alone. We can reverse the change if it becomes a problem in practice.

I left the linux_rel_naclmore, mac_rel_naclmore and win_rel_naclmore to continue building "all" so you can use these non-default try builders to check out anything exotheric. An option if it becomes a problem is to leave a by default "compile all" alternate builder in the CQ.

Ping me if you see tree breakage because of a target outside chromium_build_testers so we can decide if we need to add back 'all' compilation on the CQ.

M-A

2012/11/12 Nico Weber <tha...@chromium.org>

When I suggested changing this in the past, it got rejected because
folks (you?) said that we should have at least some bot that builds
all targets. Do we have different bots for that now?
 

2012/11/12 John Abd-El-Malek <j...@chromium.org>

John Abd-El-Malek

unread,
Nov 12, 2012, 12:02:54 PM11/12/12
to Marc-Antoine Ruel, Nico Weber, chromium-dev
Ah, I didn't know that only the clobber builders build 'all'. In that case, if the trybots are just like the incremental builders that seems like a much smaller divergence.

Sounds good to track how often this leads to breakages to see if it's an issue in practice.

Drew Wilson

unread,
Nov 13, 2012, 12:14:20 PM11/13/12
to John Abd-El-Malek, Marc-Antoine Ruel, Nico Weber, chromium-dev
I'm seeing failures due to dbus_unittests not existing on the linux_rel trybots:


Does this mean we need to update a target, or maybe not run this on the linux_rel trybot?



Marc-Antoine Ruel

unread,
Nov 13, 2012, 12:36:44 PM11/13/12
to Drew Wilson, John Abd-El-Malek, Nico Weber, chromium-dev
I'll fix. test_shell_tests was also missing and I added it silently without restarting the Try Server.

M-A

2012/11/13 Drew Wilson <atwi...@chromium.org>
Reply all
Reply to author
Forward
0 new messages