Command-line flag removal status, and how you can help

381 views
Skip to first unread message

Peter Kasting

unread,
Apr 25, 2014, 6:37:35 PM4/25/14
to Chromium-dev
A while back there was a thread noting that command-line flags should, in general, be temporary, and some effort to compile a list of our flags, get owners for them, and attempt to remove as many as possible.  The tracking doc for this work is at https://docs.google.com/a/chromium.org/spreadsheet/ccc?key=0ArH-w4dboLrgdGRqNU5FUm1Za2VieTFHOE91MW9hUVE&usp=sharing#gid=0 .

At the beginning of the process, the doc listed over 1000 flags (I forget the exact number).  We have removed enough to get down to 912.  An additional 179 flags are now marked "To Remove".  96 flags still remain to be triaged.

This is great progress, but we could use more.  Here's how you can help:

(1) If you own a flag marked "To Remove", please go ahead and remove the flag and associated code as soon as you can.  The sooner this happens, the fewer nag mails you'll risk getting from me in the future, and the leaner Chrome's codebase will be.  (I know some of these flags can't be removed yet.)

(2) Please glance over the final Untriaged flags (currently at the top of the document) and take over/triage any that you recognize.  Especially look at flags whose owners are listed with a red background; these are owners who don't have a Google email address (and thus I am less able to personally track down and harass).  Many of these people might no longer be checking their chromium.org email accounts.

Thanks for your help keeping Chrome slimmer and tidier!

PK

Peter Kasting

unread,
Jul 29, 2014, 3:12:13 PM7/29/14
to Chromium-dev
Status update on this project:

In the last 3 months, we've removed another 120 flags from this doc, to bring the total to 792.  96 of these flags are marked "To Remove".  16 remain to be triaged.  (Of course, during this time we've added new flags to the codebase that haven't gone into the doc -- I'm hoping finding owners for those won't be as challenging, but I'd like to deal with our legacy before pulling those in.)

Progress has slowed significantly in the last month and a half or so.  There are only so many nag emails I can send, and some people just ignore them perpetually.  So, once again: if you can help in either of the ways below, I would greatly appreciate it.  And I'll go further this time: if your flag should be removed, and you just don't have time to do it, but there are no tricky dependencies or conseuqences the remover should be aware of, ping me, and I'll create a CL to remove the flag for you.

Otherwise, I encourage you to devote time to dealing with flags -- it's not as exciting as shipping new features, but every small bit we simplify Chrome's codebase helps it be a little more maintainable in the future.

PK

PhistucK

unread,
Jul 29, 2014, 4:47:19 PM7/29/14
to Peter Kasting, Chromium-dev
These removals also cut down the final binary size a bit, right?
(120 * average of ~15 characters = 1.8 KB, plus some conditions and supporting code)

Not much, but, still, something.


PhistucK


--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Peter Kasting

unread,
Jul 29, 2014, 4:53:13 PM7/29/14
to PhistucK, Chromium-dev
On Tue, Jul 29, 2014 at 1:46 PM, PhistucK <phis...@gmail.com> wrote:
These removals also cut down the final binary size a bit, right?
(120 * average of ~15 characters = 1.8 KB, plus some conditions and supporting code)

I would imagine the supporting code part is much bigger than the strings for the flag names... but yes, removing code makes for a smaller binary.  Probably not by a significant amount in most cases.

PK 

Lei Zhang

unread,
Jul 29, 2014, 4:53:35 PM7/29/14
to PhistucK Productions, Chromium-dev
It helps by cutting down on code complexity and not having additional
conditionals for command line switches to worry about. Many of the
flags are also in about:flags, so getting rid of those flags mean we
can get rid of the string resources that describe those flags.

Most cleanups do little on their own, but combined they result in
non-trivial savings in code size.

On Tue, Jul 29, 2014 at 1:46 PM, PhistucK <phis...@gmail.com> wrote:

Bernhard Bauer

unread,
Jul 30, 2014, 5:37:50 AM7/30/14
to Lei Zhang, PhistucK Productions, Chromium-dev
Why do we have translations for about:flags, BTW? Do we know what the impact on binary size is?

Bernhard.

Peter Kasting

unread,
Jul 30, 2014, 5:50:02 AM7/30/14
to Bernhard Bauer, Lei Zhang, PhistucK Productions, Chromium-dev
On Wed, Jul 30, 2014 at 2:36 AM, 'Bernhard Bauer' via Chromium-dev <chromi...@chromium.org> wrote:
Why do we have translations for about:flags, BTW? Do we know what the impact on binary size is?

I don't know, but it reinforces what I've said before: don't put things in about:flags unless you need to, and when you do, make sure they move out of there as soon as possible.  Almost nothing should be in about:flags forever.

PK 

PhistucK

unread,
Jul 30, 2014, 6:43:27 AM7/30/14
to Peter Kasting, Bernhard Bauer, Lei Zhang, Chromium-dev
Yes, there are translations.


PhistucK

Daniel Cheng

unread,
Mar 12, 2015, 11:44:22 AM3/12/15
to phis...@gmail.com, Peter Kasting, Bernhard Bauer, Lei Zhang, Chromium-dev
Sorry for resurrecting this old thread.

When removing flags or reviewing patches that remove flags, please make sure that all code associated with the flag is removed. Often times, flags in WebPreferences or toggles in WebRuntimeFeatures are only controlled by the Chrome flag, and are no longer needed once the Chrome flag is removed.

Daniel

Reply all
Reply to author
Forward
0 new messages