I just landed 113979, which lets `git try` and `gcl try` tryjobs to to
the _rel bots by default. This means that your patches are now (by
default) run using release builds – don't worry the _rel bots have
DCHECKs enabled, so you don't lose DCHECK coverage. The main
observable change should be that your tryjobs should now be 2-2.5x as
fast.
You can still pass -b to choose specific bots.
If this sticks, this might free up enough resources that we can add a
shared build bot to the default try set and/or the commit queue –
we'll see.
Nico
Nico
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
On Mon, Dec 12, 2011 at 5:14 AM, Mike Reed <re...@google.com> wrote:
> Our std practice has been something like the following (for linux only in
> this example)
>
> gcl try foo --bot=linux,linux_layout,linux_layout_rel -c -r ####
>
> How does your change affect this? Should we specify less, or differently?
you're unaffected by this change. I changed only the default set. If
you pass -b / --bot, nothing changes.
Nico
Nico
Cheers,
Jói
The _rel builds do have DCHECKs enabled already, so I'd guess your
change had flaky behavior and passed on the trybots by (bad) luck.
joth: I don't have an opinion on not setting NDEBUG. I don't know how
MSVC chooses if it should use its debug c library – if that's not done
through NDEBUG, I guess I'm fine with giving it a try. But changing
NDEBUG-covered code is fairly rare, so requiring explicit jobs on the
non-_rel bots doesn't sound terrible to me. If we wouldn't set NDEBUG
on the _rel bots, we'd need to add bots that people could send jobs to
if they needed to test a change with NDEBUG set. So maybe it's not
worth it.
Nico
On Tue, Dec 20, 2011 at 7:59 AM, Jói Sigurðsson <j...@chromium.org> wrote:
>> Any thoughts on setting these _rel try builds to *not* have NDEBUG defined?
> +1, I committed a change yesterday that passed the _rel trybots butThe _rel builds do have DCHECKs enabled already, so I'd guess your
> DCHECKed on the tree (thread checker DCHECK). It seems like it would
> be cheap enough to not have NDEBUG defined on these bots.
change had flaky behavior and passed on the trybots by (bad) luck.
joth: I don't have an opinion on not setting NDEBUG. I don't know how
MSVC chooses if it should use its debug c library – if that's not done
through NDEBUG, I guess I'm fine with giving it a try. But changing
NDEBUG-covered code is fairly rare,
Cheers,
Jói
It's set here: http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/build/common.gypi&exact_package=chromium&q=DCHECK_ALWAYS_ON&type=cs&l=1102
I disagree, we are at the point were we need to simplify our configuration matrix, not extend it.
The current state is a mess. IMHO, 90% of the GYP_DEFINE's should die and become proper target configurations. Here's a non official list OTTOMH:
debug o-none
debug o-min tsan
debug o-min nosym (replaces fastbuild)
release o-min dcheck
release o-max (was official)
I'm definitely missing some. "o-" means optimization level. The only diff between debug and release is NDEBUG is defined and the corresponding CRT is used.
I could file a bug but it'll take at least 3 stable releases to complete conversion so we need a highly motivated or highly fed up guy. :)
M-A
I disagree, we are at the point were we need to simplify our configuration matrix, not extend it.
On Tue, Dec 20, 2011 at 8:48 AM, Jonathan Dixon <jo...@google.com> wrote:It's set here: http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/build/common.gypi&exact_package=chromium&q=DCHECK_ALWAYS_ON&type=cs&l=1102
> Cool.
>
> ...Only, it looks like logging.h is a good citizen and undefs if again at
> the end :)
A general solution is:
static bool MyExpensiveFunction(Params& my_parameters) {
// ...
return result;
}
DCHECK(MyExpensiveFunction(my_parameters));
Not only should it only run when DCHECK can run, it WILL only run when
DCHECK can run.
-scott
If we can all agree that this should be The One True Way, can it be
added to our style guide page?
-Alexei
A general solution is:
static bool MyExpensiveFunction(Params& my_parameters) {
// ...
return result;
}
DCHECK(MyExpensiveFunction(my_parameters));
Not only should it only run when DCHECK can run, it WILL only run when
DCHECK can run.
Cheers,
Jói