| Index: third_party/cld_2/README.chromium
|
| diff --git a/third_party/cld_2/README.chromium b/third_party/cld_2/README.chromium
|
| index b203255e03a309e727e7a5a5c4b6c9258ce37ff7..7db316386a2f9876db25b64f81ea3c19b6849431 100644
|
| --- a/third_party/cld_2/README.chromium
|
| +++ b/third_party/cld_2/README.chromium
|
| @@ -8,3 +8,42 @@ Security Critical: yes
|
| Description:
|
| The CLD is used to determine the language of text. In Chromium, this is used
|
| to determine if Chrome should offer Translate UX to the user.
|
| +
|
| +
|
| +Dynamic Mode
|
| +============
|
| +Prior to CLD2's trunk@155, Chromium has always built CLD2 statically. The data
|
| +needed for CLD2 to perform its language detection has been compiled straight
|
| +into the binary. This contributes around 1.5 megabytes to the size of Chrome
|
| +and embeds one or more large rodata sections to the executable.
|
| +
|
| +Starting with CLD2's trunk@r155, there is a new option available: dynamic mode.
|
| +In dynamic mode, CLD2 is built without its data; only the code is compiled, and
|
| +the data must be supplied at runtime via a file or a pointer to a (presumably
|
| +mmap'ed) read-only region of memory.
|
| +
|
| +Tradeoffs to consider before enabling dynamic mode:
|
| +
|
| + Pros:
|
| + * Reduces the size of the Chromium binary by a bit over a megabyte.
|
| + * As the data file rarely changes, it can be updated independently.
|
| + * Depending upon the update process on your platform, this may also reduce
|
| + the size of Chromium updates.
|
| + * It is possible to run Chromium without CLD2 data at all (language
|
| + detection will always fail, but fails gracefully).
|
| + * Different types of CLD2 data files (larger and more accurate or smaller
|
| + and less accurate) can be dynamically downloaded or chosen depending
|
| + on runtime choices.
|
| +
|
| + Cons:
|
| + * Data files must be generated and checked into source control by hand.
|
| + * At runtime a data file must be opened and its headers parsed before CLD2
|
| + can be used in any given process (this time should be negligible in most
|
| + circumstances). This will prevent language detection from working until
|
| + a data file has been loaded.
|
| +
|
| +To enable dynamic mode, set 'cld_dynamic' to '1' in ../../build/common.gypi.
|
| +
|
| +For more information on the changes required to use dynamic mode, see:
|
| + https://codereview.chromium.org/187393005
|
| +
|
|
|