New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 835007 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Zucchini: Use Build flags to selectively include architecture support.

Project Member Reported by hua...@chromium.org, Apr 19 2018

Issue description

Zucchini supports many architectures, but they might not be needed for particular use cases (e.g., DEX support is not needed for Chrome on Windows). To save space, we should have some way to exclude unneeded architectures at compile time. Build flags is a common way to use this in Chrome.

It is important that if different executables are used for Zucchini-gen and Zucchini-patch (e.g., on Windows, zucchini.exe vs. setup.exe) then we should ensure identical support!
 

Comment 1 by hua...@chromium.org, Apr 26 2018

Components: Internals>Installer>Diff
Project Member

Comment 2 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0545bf20576afb65f9bbc493ea9b4d5d42c4738

commit f0545bf20576afb65f9bbc493ea9b4d5d42c4738
Author: Calder Kitagawa <ckitagawa@google.com>
Date: Tue May 08 15:08:31 2018

[Zucchini] Buildflag control of architectures

Allows Zucchini to be built with only a subset of architectures enabled
this saves on binary size at the cost of flexibility. The idea is that
only the desired architectures would be compiled for a particular
usecases. For example the Windows setup.exe only needs Windows support.

Expected savings as a percent of total binary size at present
(868.5 kB non-debug):
- Remove DEX 3.13% (841.3 kB)
- Remove Win 6.00% (816.4 kB)
- Only Raw 9.13% (789.2 kB)

Note that in the case of Raw saving could be made significantly higher
by entirely removing the dependence on references and reference
projection. However, at present the additional messiness of the
additional buildflags all over the codebase is not worth the
maintenance costs.

Bug:  835007 
Change-Id: I091cb9d76e8473340374be1a33a5df48137a3067
Reviewed-on: https://chromium-review.googlesource.com/1037922
Commit-Queue: Calder Kitagawa <ckitagawa@google.com>
Reviewed-by: Greg Thompson <grt@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556802}
[modify] https://crrev.com/f0545bf20576afb65f9bbc493ea9b4d5d42c4738/components/zucchini/BUILD.gn
[modify] https://crrev.com/f0545bf20576afb65f9bbc493ea9b4d5d42c4738/components/zucchini/element_detection.cc

Status: Fixed (was: Assigned)

Sign in to add a comment