|author||Tom Anderson <email@example.com>||Tue Apr 16 09:51:46 2019 -0700|
|committer||Commit Bot <firstname.lastname@example.org>||Wed Apr 17 16:20:37 2019 +0000|
Optimize string escape functions When generating Chromium's build files, this reduces the number of cycles gn uses across all threads from 41,325,733,995 to 38,453,104,830 (-7%) indicated by callgrind. Runtime is also reduced from 3.45s to 3.43s (-0.6%) measured with 100 samples. GN is likely bound more by disk IO and exec_script()'s than CPU cycles, so that would explain why runtime reduction is only 0.6%. But 0.6% is still better than 0%. BUG=None R=brettw Change-Id: Ief145407a0bf3ef00b13ce2532df4ff028f05c89 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/4620 Reviewed-by: Brett Wilson <email@example.com> Commit-Queue: Brett Wilson <firstname.lastname@example.org>
Alternatively, you can build GN from source:
git clone https://gn.googlesource.com/gn cd gn python build/gen.py ninja -C out # To run tests: out/gn_unittests
On Windows, it is expected that
lib.exe can be found in
PATH, so you'll want to run from a Visual Studio command prompt, or similar.
On Linux and Mac, the default compiler is
clang++, a recent version is expected to be found in
PATH. This can be overridden by setting
If you find a bug, you can see if it is known or report it in the bug database.
GN uses Gerrit for code review. The short version of how to patch is:
Register at https://gn-review.googlesource.com. ... edit code ... ninja -C out && out/gn_unittests
Then, to upload a change for review:
git commit git cl upload --gerrit
When revising a change, use:
git commit --amend git cl upload --gerrit
which will add the new changes to the existing code review, rather than creating a new one.
We ask that all contributors sign Google's Contributor License Agreement (either individual or corporate as appropriate, select ‘any other Google project’).
You may ask questions and follow along w/ GN‘s development on Chromium’s gn-dev@ Google Group.