Index: tools/binary_size/libsupersize/testdata/Console.golden |
diff --git a/tools/binary_size/libsupersize/testdata/Console.golden b/tools/binary_size/libsupersize/testdata/Console.golden |
index bad6bceb3904375ab3c553c5214b6bb7dfe5a63a..b2dc66600151d93eef471bc4f0348a51bcf61ce7 100644 |
--- a/tools/binary_size/libsupersize/testdata/Console.golden |
+++ b/tools/binary_size/libsupersize/testdata/Console.golden |
@@ -1,3 +1,16 @@ |
+******************************************************************************** |
+Entering interactive Python shell. Quick reference: |
+ |
+SizeInfo: Cluster, metadata, section_sizes, symbols |
+Symbol: FlagsString, IsBss, IsGeneratedByToolchain, IsGroup, address, aliases, end_address, flags, full_name, generated_source, is_anonymous, name, num_aliases, object_path, padding, pss, pss_without_padding, section, section_name, size, size_without_padding, source_path |
+ |
+SymbolGroup (extends Symbol): Cluster, CountUniqueSymbols, Filter, GroupBy, GroupByNamespace, GroupByPath, GroupBySectionName, Inverted, IterUniqueSymbols, Sorted, SortedByAddress, SortedByCount, SortedByName, WhereAddressInRange, WhereBiggerThan, WhereFullNameMatches, WhereGeneratedByToolchain, WhereHasAnyAttribution, WhereHasPath, WhereInSection, WhereMatches, WhereNameMatches, WhereObjectPathMatches, WherePathMatches, WhereSourceIsGenerated, WhereSourcePathMatches, is_sorted |
+ |
+SymbolDiff (extends SymbolGroup): IsAdded, IsRemoved, IsSimilar, WhereNotUnchanged, added_count, changed_count, removed_count, unchanged_count |
+ |
+Functions: CategorizeByChromeComponent(), CategorizeGenerated(), Diff(), Disassemble(), ExpandRegex(), Print(), ShowExamples() |
+Variables: size_info |
+******************************************************************************** |
# Show pydoc for main types: |
import models |
help(models) |
@@ -7,12 +20,12 @@ Print(size_info, verbose=True) |
# Show two levels of .text, grouped by first two subdirectories |
text_syms = size_info.symbols.WhereInSection("t") |
-by_path = text_syms.GroupBySourcePath(depth=2) |
+by_path = text_syms.GroupByPath(depth=2) |
Print(by_path.WhereBiggerThan(1024)) |
# Show all non-vtable generated symbols |
-generated_syms = size_info.symbols.WhereIsGenerated() |
-Print(generated_syms.WhereNameMatches(r"vtable").Inverted()) |
+generated_syms = size_info.symbols.WhereGeneratedByToolchain() |
+Print(generated_syms.WhereNameMatches(r"vtable").Inverted().Sorted()) |
# Show all symbols that have "print" in their name or path, except |
# those within components/. |
@@ -24,6 +37,10 @@ Print(print_syms - print_syms.WherePathMatches(r"^components/")) |
# Diff two .size files and save result to a file: |
Print(Diff(size_info1, size_info2), to_file="output.txt") |
+# View per-component breakdowns, then inspect the "other" subgroup. |
+c = GroupByChromeComponent() |
+Print(c) |
+Print(c[-1].GroupByPath(depth=2)) |
Metadata: |
elf_arch=ARM |
elf_build_id=WhatAnAmazingBuildId |
@@ -45,99 +62,100 @@ Showing 48 symbols (45 unique) with total pss: 44309900 bytes |
.text=34.2mb .rodata=5.65mb other=2.37mb total=42.3mb |
Number of object files: 10 |
-First columns are: running total, address, pss |
-35821002 t@0x24ca628 35821002 {no path} |
- ** symbol gap 2 (end of section) |
-39107114 r@0x2c158e4 3286112 {no path} |
+Index, Running Total, Section@Address, PSS |
+------------------------------------------------------------ |
+0) 0 (0.0%) b@0x0 262144 third_party/fft_float.cc |
+ ff_cos_131072 |
+1) 0 (0.0%) b@0x0 131072 third_party/fft_fixed.cc |
+ ff_cos_131072_fixed |
+2) 0 (0.0%) b@0x0 131072 third_party/fft_float.cc |
+ ff_cos_65536 |
+3) 0 (0.0%) b@0x2dffda0 28 third_party/icu/ucnv_ext.c |
+ g_chrome_content_browser_client |
+4) 0 (0.0%) b@0x2dffe80 200 third_party/icu/ucnv_ext.c |
+ SaveHistogram::atomic_histogram_pointer |
+5) 0 (0.0%) b@0x2dffe84 4 third_party/icu/ucnv_ext.c |
+ g_AnimationFrameTimeHistogram_clazz |
+6) 4 (0.0%) d@0x2de7000 4 base/page_allocator.cc |
+ google::protobuf::internal::pLinuxKernelCmpxchg |
+7) 8 (0.0%) d@0x2de7004 4 third_party/container.c |
+ google::protobuf::internal::pLinuxKernelMemoryBarrier |
+8) 160 (0.0%) d@0x2de7008 152 third_party/container.c |
+ base::android::kBaseRegisteredMethods |
+9) 164 (0.0%) d@0x2de70a0 4 third_party/container.c |
+ base::android::g_renderer_histogram_code |
+10) 168 (0.0%) d@0x2de70a4 4 third_party/container.c |
+ base::android::g_library_version_number |
+11) 101768 (0.2%) d@0x2dffd88 101600 {no path} |
** symbol gap 3 (end of section) |
-41072523 r@0x266e600 1965409 {no path} |
- ** merge strings |
-42137655 d@0x2ddc608 1065132 {no path} |
+12) 101824 (0.2%) d@0x2cd8500 56 third_party/paint.cc |
+ ChromeMainDelegateAndroid [vtable] |
+13) 101848 (0.2%) d@0x2cd8538 24 base/page_allocator.cc |
+ mojo::MessageReceiver [vtable] |
+14) 101860 (0.2%) d@0x2cd8550 12 base/page_allocator.cc |
+ kMethodsAnimationFrameTimeHistogram |
+15) 1166992 (2.6%) d@0x2ddc608 1065132 {no path} |
** symbol gap 3 (end of section) |
-42927559 d@0x2c17740 789904 third_party/container.c |
+16) 1167048 (2.6%) d@0x2c176f0 56 third_party/icu/ucnv_ext.c |
+ ChromeMainDelegate [vtable] |
+17) 1167072 (2.6%) d@0x2c17728 24 third_party/icu/ucnv_ext.c |
+ chrome::mojom::FieldTrialRecorder [vtable] |
+18) 1956976 (4.4%) d@0x2c17740 789904 third_party/container.c |
chrome::mojom::FieldTrialRecorderProxy [vtable] |
-43603544 r@0x284e518 675985 {no path} |
+19) 1957008 (4.4%) d@0x2cd84e0 32 third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o |
+ .Lswitch.table.45 |
+20) 1957016 (4.4%) d@0x2cd84f0 8 third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o |
+ kSystemClassPrefixes |
+21) 3922425 (8.9%) r@0x266e600 1965409 {no path} |
+ ** merge strings |
+22) 3922428 (8.9%) r@0x284e364 3 {no path} |
+ ** symbol gap 2 |
+23) 3922436 (8.9%) r@0x284e364 8 base/page_allocator.cc |
+24) 3922480 (8.9%) r@0x284e370 44 base/page_allocator.cc |
+ Name |
+25) 3922512 (8.9%) r@0x284e398 32 third_party/container.c |
+ chrome::mojom::FilePatcher::Name_ |
+26) 4598497 (10.4%) r@0x284e518 675985 {no path} |
** merge strings |
-43705144 d@0x2dffd88 101600 {no path} |
+27) 4598552 (10.4%) r@0x28f3450 55 third_party/paint.cc |
+ kAnimationFrameTimeHistogramClassPath |
+28) 4598556 (10.4%) r@0x28f3480 4 third_party/paint.cc |
+ blink::CSSValueKeywordsHash::findValueImpl::value_word_list |
+29) 7884668 (17.8%) r@0x2c158e4 3286112 {no path} |
** symbol gap 3 (end of section) |
-43774268 t@0x28f1e0 69124 third_party/icu/ucnv_ext.c |
- foo_bar |
-43779986 t@0x28f000 5718 {no path} |
- ** symbol gap 0 |
-43784026 t@0x2a1000 4040 {no path} |
- ** symbol gap 1 |
-43784474 t@0x28f000 448 third_party/icu/ucnv_ext.c |
- ucnv_extMatchFromU |
-43784626 d@0x2de7008 152 third_party/container.c |
- base::android::kBaseRegisteredMethods |
-43784720 t@0x2a1000 94 third_party/container.c |
- blink::PaintChunker::releasePaintChunks [clone .part.1] |
-43784776 d@0x2c176f0 56 third_party/icu/ucnv_ext.c |
- ChromeMainDelegate [vtable] |
-43784832 d@0x2cd8500 56 third_party/paint.cc |
- ChromeMainDelegateAndroid [vtable] |
-43784888 t@0x28d910 56 base/page_allocator.cc |
+30) 7884684 (17.8%) t@0x28d900 16 base/page_allocator.cc |
+ _GLOBAL__sub_I_page_allocator.cc |
+31) 7884740 (17.8%) t@0x28d910 56 base/page_allocator.cc |
_GLOBAL__sub_I_bbr_sender.cc |
-43784943 r@0x28f3450 55 third_party/paint.cc |
- kAnimationFrameTimeHistogramClassPath |
-43784967 t@0x2a0000 24 third_party/icu/ucnv_ext.c |
- BazAlias |
-43784991 t@0x2a0000 24 {no path} |
- blink::ContiguousContainerBase::shrinkToFit |
-43785035 r@0x284e370 44 base/page_allocator.cc |
- Name |
-43785073 t@0x28d964 38 base/page_allocator.cc |
+32) 7884768 (17.8%) t@0x28d948 28 base/page_allocator.cc |
+ _GLOBAL__sub_I_pacing_sender.cc |
+33) 7884806 (17.8%) t@0x28d964 38 base/page_allocator.cc |
extFromUUseMapping |
-43785105 d@0x2cd84e0 32 third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o |
- .Lswitch.table.45 |
-43785137 r@0x284e398 32 third_party/container.c |
- chrome::mojom::FilePatcher::Name_ |
-43785169 t@0x28d98a 32 base/page_allocator.cc |
+34) 7884838 (17.8%) t@0x28d98a 32 base/page_allocator.cc |
extFromUUseMapping |
-43785197 t@0x28f1c8 28 third_party/icu/ucnv_ext.c |
+35) 7890556 (17.8%) t@0x28f000 5718 {no path} |
+ ** symbol gap 0 |
+36) 7891004 (17.8%) t@0x28f000 448 third_party/icu/ucnv_ext.c |
+ ucnv_extMatchFromU |
+37) 7891032 (17.8%) t@0x28f1c8 28 third_party/icu/ucnv_ext.c |
_GLOBAL__sub_I_SkDeviceProfile.cpp |
-43785225 t@0x28d948 28 base/page_allocator.cc |
- _GLOBAL__sub_I_pacing_sender.cc |
-43785253 t@0x2a0020 28 third_party/container.c |
- blink::ContiguousContainerBase::ContiguousContainerBase |
-43785277 d@0x2c17728 24 third_party/icu/ucnv_ext.c |
- chrome::mojom::FieldTrialRecorder [vtable] |
-43785301 d@0x2cd8538 24 base/page_allocator.cc |
- mojo::MessageReceiver [vtable] |
-43785317 t@0x28d900 16 base/page_allocator.cc |
- _GLOBAL__sub_I_page_allocator.cc |
-43785321 t@0x2a0010 4 third_party/fft_float.cc |
- BarAlias |
-43785325 t@0x2a0010 4 third_party/fft_float.cc |
- FooAlias |
-43785329 t@0x2a0010 4 third_party/{shared}/2 |
+38) 7960156 (18.0%) t@0x28f1e0 69124 third_party/icu/ucnv_ext.c |
+ foo_bar |
+39) 7960180 (18.0%) t@0x2a0000 24 {no path} |
+ blink::ContiguousContainerBase::shrinkToFit |
+40) 7960204 (18.0%) t@0x2a0000 24 third_party/icu/ucnv_ext.c |
+ BazAlias |
+41) 7960208 (18.0%) t@0x2a0010 4 third_party/{shared}/2 |
blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2] |
-43785341 d@0x2cd8550 12 base/page_allocator.cc |
- kMethodsAnimationFrameTimeHistogram |
-43785349 r@0x284e364 8 base/page_allocator.cc |
-43785357 d@0x2cd84f0 8 third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o |
- kSystemClassPrefixes |
-43785361 d@0x2de70a4 4 third_party/container.c |
- base::android::g_library_version_number |
-43785365 d@0x2de70a0 4 third_party/container.c |
- base::android::g_renderer_histogram_code |
-43785369 r@0x28f3480 4 third_party/paint.cc |
- blink::CSSValueKeywordsHash::findValueImpl::value_word_list |
-43785373 d@0x2de7000 4 base/page_allocator.cc |
- google::protobuf::internal::pLinuxKernelCmpxchg |
-43785377 d@0x2de7004 4 third_party/container.c |
- google::protobuf::internal::pLinuxKernelMemoryBarrier |
-43785380 r@0x284e364 3 {no path} |
- ** symbol gap 2 |
-43785380 b@0x0 262144 third_party/fft_float.cc |
- ff_cos_131072 |
-43785380 b@0x0 131072 third_party/fft_fixed.cc |
- ff_cos_131072_fixed |
-43785380 b@0x0 131072 third_party/fft_float.cc |
- ff_cos_65536 |
-43785380 b@0x2dffe80 200 third_party/icu/ucnv_ext.c |
- SaveHistogram::atomic_histogram_pointer |
-43785380 b@0x2dffda0 28 third_party/icu/ucnv_ext.c |
- g_chrome_content_browser_client |
-43785380 b@0x2dffe84 4 third_party/icu/ucnv_ext.c |
- g_AnimationFrameTimeHistogram_clazz |
+42) 7960212 (18.0%) t@0x2a0010 4 third_party/fft_float.cc |
+ FooAlias |
+43) 7960216 (18.0%) t@0x2a0010 4 third_party/fft_float.cc |
+ BarAlias |
+44) 7960244 (18.0%) t@0x2a0020 28 third_party/container.c |
+ blink::ContiguousContainerBase::ContiguousContainerBase |
+45) 7964284 (18.0%) t@0x2a1000 4040 {no path} |
+ ** symbol gap 1 |
+46) 7964378 (18.0%) t@0x2a1000 94 third_party/container.c |
+ blink::PaintChunker::releasePaintChunks [clone .part.1] |
+47) 43785380 (98.8%) t@0x24ca628 35821002 {no path} |
+ ** symbol gap 2 (end of section) |