| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2017 The Chromium Authors. All rights reserved. | 2 # Copyright 2017 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Tool for finding the cause of binary size bloat. | 6 """Tool for finding the cause of binary size bloat. |
| 7 | 7 |
| 8 See //tools/binary_size/README.md for example usage. | 8 See //tools/binary_size/README.md for example usage. |
| 9 | 9 |
| 10 Note: this tool will perform gclient sync/git checkout on your local repo if | 10 Note: this tool will perform gclient sync/git checkout on your local repo if |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 @property | 226 @property |
| 227 def download_output_dir(self): | 227 def download_output_dir(self): |
| 228 return 'out/Release' if self.IsAndroid() else 'full-build-linux' | 228 return 'out/Release' if self.IsAndroid() else 'full-build-linux' |
| 229 | 229 |
| 230 @property | 230 @property |
| 231 def map_file_path(self): | 231 def map_file_path(self): |
| 232 return self.main_lib_path + '.map.gz' | 232 return self.main_lib_path + '.map.gz' |
| 233 | 233 |
| 234 @property | 234 @property |
| 235 def size_name(self): | 235 def size_name(self): |
| 236 return os.path.splitext(os.path.basename(self.main_lib_path))[0] + '.size' | 236 if self.IsLinux(): |
| 237 return os.path.basename(self.main_lib_path) + '.size' |
| 238 return self.apk_name + '.size' |
| 237 | 239 |
| 238 def _SetDefaults(self): | 240 def _SetDefaults(self): |
| 239 has_goma_dir = os.path.exists(os.path.join(os.path.expanduser('~'), 'goma')) | 241 has_goma_dir = os.path.exists(os.path.join(os.path.expanduser('~'), 'goma')) |
| 240 self.use_goma = self.use_goma or has_goma_dir | 242 self.use_goma = self.use_goma or has_goma_dir |
| 241 self.max_load_average = (self.max_load_average or | 243 self.max_load_average = (self.max_load_average or |
| 242 str(multiprocessing.cpu_count())) | 244 str(multiprocessing.cpu_count())) |
| 243 if not self.max_jobs: | 245 if not self.max_jobs: |
| 244 self.max_jobs = '10000' if self.use_goma else '500' | 246 self.max_jobs = '10000' if self.use_goma else '500' |
| 245 | 247 |
| 246 if os.path.exists(os.path.join(os.path.dirname(_SRC_ROOT), 'src-internal')): | 248 if os.path.exists(os.path.join(os.path.dirname(_SRC_ROOT), 'src-internal')): |
| (...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 752 sys.exit() | 754 sys.exit() |
| 753 args = parser.parse_args() | 755 args = parser.parse_args() |
| 754 log_level = logging.DEBUG if args.verbose else logging.INFO | 756 log_level = logging.DEBUG if args.verbose else logging.INFO |
| 755 logging.basicConfig(level=log_level, | 757 logging.basicConfig(level=log_level, |
| 756 format='%(levelname).1s %(relativeCreated)6d %(message)s') | 758 format='%(levelname).1s %(relativeCreated)6d %(message)s') |
| 757 build = _BuildHelper(args) | 759 build = _BuildHelper(args) |
| 758 if build.IsCloud() and args.subrepo: | 760 if build.IsCloud() and args.subrepo: |
| 759 parser.error('--subrepo doesn\'t work with --cloud') | 761 parser.error('--subrepo doesn\'t work with --cloud') |
| 760 | 762 |
| 761 subrepo = args.subrepo or _SRC_ROOT | 763 subrepo = args.subrepo or _SRC_ROOT |
| 762 _EnsureDirectoryClean(subrepo) | 764 if not build.IsCloud(): |
| 763 _SetRestoreFunc(subrepo) | 765 _EnsureDirectoryClean(subrepo) |
| 766 _SetRestoreFunc(subrepo) |
| 767 |
| 764 if build.IsLinux(): | 768 if build.IsLinux(): |
| 765 _VerifyUserAccepts('Linux diffs have known deficiencies (crbug/717550).') | 769 _VerifyUserAccepts('Linux diffs have known deficiencies (crbug/717550).') |
| 766 | 770 |
| 767 rev, reference_rev = _ValidateRevs( | 771 rev, reference_rev = _ValidateRevs( |
| 768 args.rev, args.reference_rev or args.rev + '^', subrepo) | 772 args.rev, args.reference_rev or args.rev + '^', subrepo) |
| 769 revs = _GenerateRevList(rev, reference_rev, args.all, subrepo) | 773 revs = _GenerateRevList(rev, reference_rev, args.all, subrepo) |
| 770 with _TmpCopyBinarySizeDir() as supersize_path: | 774 with _TmpCopyBinarySizeDir() as supersize_path: |
| 771 diffs = [NativeDiff(build.size_name, supersize_path)] | 775 diffs = [NativeDiff(build.size_name, supersize_path)] |
| 772 if build.IsAndroid(): | 776 if build.IsAndroid(): |
| 773 diffs += [ | 777 diffs += [ |
| (...skipping 28 matching lines...) Expand all Loading... |
| 802 | 806 |
| 803 if i != 0: | 807 if i != 0: |
| 804 diff_mngr.MaybeDiff(i - 1, i) | 808 diff_mngr.MaybeDiff(i - 1, i) |
| 805 | 809 |
| 806 diff_mngr.Summarize() | 810 diff_mngr.Summarize() |
| 807 | 811 |
| 808 | 812 |
| 809 if __name__ == '__main__': | 813 if __name__ == '__main__': |
| 810 sys.exit(main()) | 814 sys.exit(main()) |
| 811 | 815 |
| OLD | NEW |