)]}' { "commit": "6975103d9f59ed9f3cfbc6d2201298f2c2fde046", "tree": "deb8f94601b66addab3ccddac009f9aa6f151667", "parents": [ "be16dea4dfdd72cd6a4e198f8f8319b1f060b26d" ], "author": { "name": "David \u0027Digit\u0027 Turner", "email": "digit@google.com", "time": "Thu Dec 29 13:50:37 2022 +0100" }, "committer": { "name": "GN LUCI", "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com", "time": "Tue May 16 14:01:27 2023 +0000" }, "message": "gn gen: Implement thread-local ResolvedTargetData cache.\n\nFinal benchmarks for \u0027gn gen\u0027 from the previous stack of CLs\nshows significant time reduction for moderate peak RAM increase:\n\n TIME_BEFORE TIME_AFTER RAM_BEFORE RAM_AFTER\n\n Chromium: 4.75s 3.30s 1.00GiB 1.31GiB\n Fuchsia: 20.99s 17.98s 3.84GiB 4.07GiB\n\nBenchmark Details ------------------------------------------\n\nChromium:\n\n $ hyperfine \u0027/tmp/gn-main gen out/Default\u0027 \u0027/tmp/gn-new gen out/Default\u0027\n Benchmark 1: /tmp/gn-main gen out/Default\n Time (mean ± σ): 4.753 s ± 0.044 s [User: 15.413 s, System: 8.977 s]\n Range (min … max): 4.672 s … 4.820 s 10 runs\n\n Benchmark 2: /tmp/gn-new gen out/Default\n Time (mean ± σ): 3.303 s ± 0.061 s [User: 18.202 s, System: 9.122 s]\n Range (min … max): 3.217 s … 3.413 s 10 runs\n\n Summary\n \u0027/tmp/gn-new gen out/Default\u0027 ran\n 1.44 ± 0.03 times faster than \u0027/tmp/gn-main gen out/Default\u0027\n\n $ /usr/bin/time -f%M /tmp/gn-main gen out/Default\n Done. Made 17871 targets from 3048 files in 4674ms\n 1049960\n\n $ /usr/bin/time -f%M /tmp/gn-new gen out/Default\n Done. Made 17871 targets from 3048 files in 3229ms\n 1374344\n\nFuchsia:\n\n $ hyperfine \u0027/tmp/gn-main gen out/default\u0027 \u0027/tmp/gn-new gen out/default\u0027\n Benchmark 1: /tmp/gn-main gen out/default\n Time (mean ± σ): 20.994 s ± 0.277 s [User: 97.113 s, System: 49.242 s]\n Range (min … max): 20.637 s … 21.602 s 10 runs\n\n Benchmark 2: /tmp/gn-new gen out/default\n Time (mean ± σ): 17.981 s ± 0.259 s [User: 95.037 s, System: 48.343 s]\n Range (min … max): 17.390 s … 18.324 s 10 runs\n\n Summary\n \u0027/tmp/gn-new gen out/default\u0027 ran\n 1.17 ± 0.02 times faster than \u0027/tmp/gn-main gen out/default\u0027\n\n $ /usr/bin/time -f%M /tmp/gn-main gen out/default\n Generating compile_commands took 727ms\n Done. Made 196612 targets from 6247 files in 20741ms\n 4026004\n\n $ /usr/bin/time -f%M /tmp/gn-new gen out/default\n Generating compile_commands took 659ms\n Done. Made 196612 targets from 6247 files in 17427ms\n 4272248\n\nBug: 331\nChange-Id: Ib2eca769a5a587a531f4fac2be263555e37b89ea\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/15329\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "6216269e50ccdbd409ad24ab09c01320f6db6b23", "old_mode": 33188, "old_path": "src/gn/command_gen.cc", "new_id": "ec4a766ce9ba1fa2fbadecb742b320633452f5f7", "new_mode": 33188, "new_path": "src/gn/command_gen.cc" } ] }