| OLD | NEW |
| 1 ******************************************************************************** | 1 ******************************************************************************** |
| 2 Entering interactive Python shell. Quick reference: | 2 Entering interactive Python shell. Quick reference: |
| 3 | 3 |
| 4 SizeInfo: Clustered, metadata, raw_symbols, section_sizes, symbols | 4 SizeInfo: Clustered, metadata, raw_symbols, section_sizes, symbols |
| 5 Symbol: FlagsString, IsBss, IsGeneratedByToolchain, IsGroup, address, aliases, e
nd_address, flags, full_name, generated_source, is_anonymous, name, num_aliases,
object_path, padding, pss, pss_without_padding, section, section_name, size, si
ze_without_padding, source_path, template_name | 5 Symbol: FlagsString, IsBss, IsGeneratedByToolchain, IsGroup, address, aliases, e
nd_address, flags, full_name, generated_source, is_anonymous, name, num_aliases,
object_path, padding, pss, pss_without_padding, section, section_name, size, si
ze_without_padding, source_path, template_name |
| 6 | 6 |
| 7 SymbolGroup (extends Symbol): Clustered, CountUniqueSymbols, Filter, GroupedBy,
GroupedByName, GroupedByPath, GroupedBySectionName, Inverted, IterLeafSymbols, I
terUniqueSymbols, Sorted, SortedByAddress, SortedByCount, SortedByName, WhereAdd
ressInRange, WhereFullNameMatches, WhereGeneratedByToolchain, WhereHasAnyAttribu
tion, WhereHasPath, WhereInSection, WhereIsTemplate, WhereMatches, WhereNameMatc
hes, WhereObjectPathMatches, WherePathMatches, WherePssBiggerThan, WhereSizeBigg
erThan, WhereSourceIsGenerated, WhereSourcePathMatches, WhereTemplateNameMatches
, is_sorted | 7 SymbolGroup (extends Symbol): Clustered, CountUniqueSymbols, Filter, GroupedBy,
GroupedByName, GroupedByPath, GroupedBySectionName, Inverted, IterLeafSymbols, I
terUniqueSymbols, Sorted, SortedByAddress, SortedByCount, SortedByName, WhereAdd
ressInRange, WhereFullNameMatches, WhereGeneratedByToolchain, WhereHasAnyAttribu
tion, WhereHasPath, WhereInSection, WhereIsTemplate, WhereMatches, WhereNameMatc
hes, WhereObjectPathMatches, WherePathMatches, WherePssBiggerThan, WhereSizeBigg
erThan, WhereSourceIsGenerated, WhereSourcePathMatches, WhereTemplateNameMatches
, is_sorted |
| 8 | 8 |
| 9 SymbolDiff (extends SymbolGroup): IsAdded, IsRemoved, IsSimilar, WhereNotUnchang
ed, added_count, changed_count, removed_count, unchanged_count | 9 SymbolDiff (extends SymbolGroup): IsAdded, IsRemoved, IsSimilar, WhereNotUnchang
ed, added_count, changed_count, removed_count, unchanged_count |
| 10 | 10 |
| 11 canned_queries: CategorizeByChromeComponent, CategorizeGenerated, TemplatesByNam
e | 11 canned_queries: CategorizeByChromeComponent, CategorizeGenerated, TemplatesByNam
e |
| 12 | 12 |
| 13 Functions: Diff(), Disassemble(), ExpandRegex(), Print(), ShowExamples() | 13 Functions: Diff(), Disassemble(), ExpandRegex(), Print(), ShowExamples() |
| 14 Variables: canned_queries, size_info | 14 Variables: canned_queries, printed, size_info |
| 15 ******************************************************************************** | 15 ******************************************************************************** |
| 16 # Show pydoc for main types: | 16 # Show pydoc for main types: |
| 17 import models | 17 import models |
| 18 help(models) | 18 help(models) |
| 19 | 19 |
| 20 # Show all attributes of all symbols & per-section totals: | 20 # Show all attributes of all symbols & per-section totals: |
| 21 Print(size_info, verbose=True) | 21 Print(size_info, verbose=True) |
| 22 | 22 |
| 23 # Show two levels of .text, grouped by first two subdirectories | 23 # Show two levels of .text, grouped by first two subdirectories |
| 24 text_syms = size_info.symbols.WhereInSection("t") | 24 text_syms = size_info.symbols.WhereInSection("t") |
| 25 by_path = text_syms.GroupedByPath(depth=2) | 25 by_path = text_syms.GroupedByPath(depth=2) |
| 26 Print(by_path.WherePssBiggerThan(1024)) | 26 Print(by_path.WherePssBiggerThan(1024)) |
| 27 | 27 |
| 28 # Show all non-vtable generated symbols | 28 # Show all generated symbols, then show only non-vtable ones |
| 29 generated_syms = size_info.symbols.WhereGeneratedByToolchain() | 29 Print(size_info.symbols.WhereGeneratedByToolchain()) |
| 30 Print(generated_syms.WhereNameMatches(r"vtable").Inverted().Sorted()) | 30 Print(printed[-1].WhereNameMatches(r"vtable").Inverted().Sorted()) |
| 31 | 31 |
| 32 # Show all symbols that have "print" in their name or path, except | 32 # Show all symbols that have "print" in their name or path, except |
| 33 # those within components/. | 33 # those within components/. |
| 34 # Note: Could have also used Inverted(), as above. | 34 # Note: Could have also used Inverted(), as above. |
| 35 # Note: Use "help(ExpandRegex)" for more about what {{_print_}} does. | 35 # Note: Use "help(ExpandRegex)" for more about what {{_print_}} does. |
| 36 print_syms = size_info.symbols.WhereMatches(r"{{_print_}}") | 36 print_syms = size_info.symbols.WhereMatches(r"{{_print_}}") |
| 37 Print(print_syms - print_syms.WherePathMatches(r"^components/")) | 37 Print(print_syms - print_syms.WherePathMatches(r"^components/")) |
| 38 | 38 |
| 39 # Diff two .size files and save result to a file: | 39 # Diff two .size files and save result to a file: |
| 40 Print(Diff(size_info1, size_info2), to_file="output.txt") | 40 Print(Diff(size_info1, size_info2), to_file="output.txt") |
| (...skipping 18 matching lines...) Expand all Loading... |
| 59 Section Sizes (Total=41.8mb (43785380 bytes)): | 59 Section Sizes (Total=41.8mb (43785380 bytes)): |
| 60 .bss: 1.24mb (1300456 bytes) (not included in totals) | 60 .bss: 1.24mb (1300456 bytes) (not included in totals) |
| 61 .data: 99.4kb (101768 bytes) (0.2%) | 61 .data: 99.4kb (101768 bytes) (0.2%) |
| 62 .data.rel.ro: 1.02mb (1065224 bytes) (2.4%) | 62 .data.rel.ro: 1.02mb (1065224 bytes) (2.4%) |
| 63 .data.rel.ro.local: 771kb (790024 bytes) (1.8%) | 63 .data.rel.ro.local: 771kb (790024 bytes) (1.8%) |
| 64 .rodata: 5.65mb (5927652 bytes) (13.5%) | 64 .rodata: 5.65mb (5927652 bytes) (13.5%) |
| 65 .text: 34.2mb (35900712 bytes) (82.0%) | 65 .text: 34.2mb (35900712 bytes) (82.0%) |
| 66 | 66 |
| 67 Showing 49 symbols (46 unique) with total pss: 43785380 bytes | 67 Showing 49 symbols (46 unique) with total pss: 43785380 bytes |
| 68 .text=34.2mb .rodata=5.65mb .data*=1.87mb .bss=512kb total=41.8
mb | 68 .text=34.2mb .rodata=5.65mb .data*=1.87mb .bss=512kb total=41.8
mb |
| 69 Number of object files: 10 | 69 Number of unique paths: 9 |
| 70 | 70 |
| 71 Index, Running Total, Section@Address, PSS | 71 Index, Running Total, Section@Address, PSS |
| 72 ------------------------------------------------------------ | 72 ------------------------------------------------------------ |
| 73 0) 16 (0.0%) t@0x28d900 16 base/page_allocator.cc | 73 0) 16 (0.0%) t@0x28d900 16 base/page_allocator.cc |
| 74 _GLOBAL__sub_I_page_allocator.cc | 74 _GLOBAL__sub_I_page_allocator.cc |
| 75 1) 72 (0.0%) t@0x28d910 56 base/page_allocator.cc | 75 1) 72 (0.0%) t@0x28d910 56 base/page_allocator.cc |
| 76 _GLOBAL__sub_I_bbr_sender.cc | 76 _GLOBAL__sub_I_bbr_sender.cc |
| 77 2) 100 (0.0%) t@0x28d948 28 base/page_allocator.cc | 77 2) 100 (0.0%) t@0x28d948 28 base/page_allocator.cc |
| 78 _GLOBAL__sub_I_pacing_sender.cc | 78 _GLOBAL__sub_I_pacing_sender.cc |
| 79 3) 138 (0.0%) t@0x28d964 38 base/page_allocator.cc | 79 3) 138 (0.0%) t@0x28d964 38 base/page_allocator.cc |
| (...skipping 24 matching lines...) Expand all Loading... |
| 104 ** symbol gap 1 | 104 ** symbol gap 1 |
| 105 16) 79710 (0.2%) t@0x2a1000 94 third_party/container.c | 105 16) 79710 (0.2%) t@0x2a1000 94 third_party/container.c |
| 106 blink::PaintChunker::releasePaintChunks [clone .part.1] | 106 blink::PaintChunker::releasePaintChunks [clone .part.1] |
| 107 17) 35900712 (82.0%) t@0x24ca628 35821002 {no path} | 107 17) 35900712 (82.0%) t@0x24ca628 35821002 {no path} |
| 108 ** symbol gap 2 (end of section) | 108 ** symbol gap 2 (end of section) |
| 109 18) 37862696 (86.5%) r@0x266e600 1961984 {no path} | 109 18) 37862696 (86.5%) r@0x266e600 1961984 {no path} |
| 110 ** merge strings | 110 ** merge strings |
| 111 19) 37866121 (86.5%) r@0x284d600 3425 {no path} | 111 19) 37866121 (86.5%) r@0x284d600 3425 {no path} |
| 112 ** merge constants | 112 ** merge constants |
| 113 20) 37866124 (86.5%) r@0x284e364 3 {no path} | 113 20) 37866124 (86.5%) r@0x284e364 3 {no path} |
| 114 ** symbol gap 2 | 114 ** symbol gap 0 |
| 115 21) 37866132 (86.5%) r@0x284e364 8 base/page_allocator.cc | 115 21) 37866132 (86.5%) r@0x284e364 8 base/page_allocator.cc |
| 116 22) 37866176 (86.5%) r@0x284e370 44 base/page_allocator.cc | 116 22) 37866176 (86.5%) r@0x284e370 44 base/page_allocator.cc |
| 117 Name | 117 Name |
| 118 23) 37866208 (86.5%) r@0x284e398 32 third_party/container.c | 118 23) 37866208 (86.5%) r@0x284e398 32 third_party/container.c |
| 119 chrome::mojom::FilePatcher::Name_ | 119 chrome::mojom::FilePatcher::Name_ |
| 120 24) 38542193 (88.0%) r@0x284e518 675985 {no path} | 120 24) 38542193 (88.0%) r@0x284e518 675985 {no path} |
| 121 ** merge strings | 121 ** merge strings |
| 122 25) 38542248 (88.0%) r@0x28f3450 55 third_party/paint.cc | 122 25) 38542248 (88.0%) r@0x28f3450 55 third_party/paint.cc |
| 123 kAnimationFrameTimeHistogramClassPath | 123 kAnimationFrameTimeHistogramClassPath |
| 124 26) 38542252 (88.0%) r@0x28f3480 4 third_party/paint.cc | 124 26) 38542252 (88.0%) r@0x28f3480 4 third_party/paint.cc |
| 125 blink::CSSValueKeywordsHash::findValueImpl::value_word_list | 125 blink::CSSValueKeywordsHash::findValueImpl::value_word_list |
| 126 27) 41828364 (95.5%) r@0x2c158e4 3286112 {no path} | 126 27) 41828364 (95.5%) r@0x2c158e4 3286112 {no path} |
| 127 ** symbol gap 3 (end of section) | 127 ** symbol gap 1 (end of section) |
| 128 28) 41828420 (95.5%) d@0x2c176f0 56 third_party/icu/ucnv_ext.c | 128 28) 41828420 (95.5%) d@0x2c176f0 56 third_party/icu/ucnv_ext.c |
| 129 ChromeMainDelegate [vtable] | 129 ChromeMainDelegate [vtable] |
| 130 29) 41828444 (95.5%) d@0x2c17728 24 third_party/icu/ucnv_ext.c | 130 29) 41828444 (95.5%) d@0x2c17728 24 third_party/icu/ucnv_ext.c |
| 131 chrome::mojom::FieldTrialRecorder [vtable] | 131 chrome::mojom::FieldTrialRecorder [vtable] |
| 132 30) 42618348 (97.3%) d@0x2c17740 789904 third_party/container.c | 132 30) 42618348 (97.3%) d@0x2c17740 789904 third_party/container.c |
| 133 chrome::mojom::FieldTrialRecorderProxy [vtable] | 133 chrome::mojom::FieldTrialRecorderProxy [vtable] |
| 134 31) 42618380 (97.3%) d@0x2cd84e0 32 third_party/gvr-android-sdk/libgvr_sh
im_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o | 134 31) 42618380 (97.3%) d@0x2cd84e0 32 third_party/gvr-android-sdk/libgvr_sh
im_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o |
| 135 .Lswitch.table.45 | 135 .Lswitch.table.45 |
| 136 32) 42618388 (97.3%) d@0x2cd84f0 8 third_party/gvr-android-sdk/libgvr_sh
im_static_arm.a/libport_android_jni.a_jni_utils.o | 136 32) 42618388 (97.3%) d@0x2cd84f0 8 third_party/gvr-android-sdk/libgvr_sh
im_static_arm.a/libport_android_jni.a_jni_utils.o |
| 137 kSystemClassPrefixes | 137 kSystemClassPrefixes |
| 138 33) 42618444 (97.3%) d@0x2cd8500 56 third_party/paint.cc | 138 33) 42618444 (97.3%) d@0x2cd8500 56 third_party/paint.cc |
| 139 ChromeMainDelegateAndroid [vtable] | 139 ChromeMainDelegateAndroid [vtable] |
| 140 34) 42618468 (97.3%) d@0x2cd8538 24 base/page_allocator.cc | 140 34) 42618468 (97.3%) d@0x2cd8538 24 base/page_allocator.cc |
| 141 mojo::MessageReceiver [vtable] | 141 mojo::MessageReceiver [vtable] |
| 142 35) 42618480 (97.3%) d@0x2cd8550 12 base/page_allocator.cc | 142 35) 42618480 (97.3%) d@0x2cd8550 12 base/page_allocator.cc |
| 143 kMethodsAnimationFrameTimeHistogram | 143 kMethodsAnimationFrameTimeHistogram |
| 144 36) 43683612 (99.8%) d@0x2ddc608 1065132 {no path} | 144 36) 43683612 (99.8%) d@0x2ddc608 1065132 {no path} |
| 145 ** symbol gap 3 (end of section) | 145 ** symbol gap 0 (end of section) |
| 146 37) 43683616 (99.8%) d@0x2de7000 4 base/page_allocator.cc | 146 37) 43683616 (99.8%) d@0x2de7000 4 base/page_allocator.cc |
| 147 google::protobuf::internal::pLinuxKernelCmpxchg | 147 google::protobuf::internal::pLinuxKernelCmpxchg |
| 148 38) 43683620 (99.8%) d@0x2de7004 4 third_party/container.c | 148 38) 43683620 (99.8%) d@0x2de7004 4 third_party/container.c |
| 149 google::protobuf::internal::pLinuxKernelMemoryBarrier | 149 google::protobuf::internal::pLinuxKernelMemoryBarrier |
| 150 39) 43683772 (99.8%) d@0x2de7008 152 third_party/container.c | 150 39) 43683772 (99.8%) d@0x2de7008 152 third_party/container.c |
| 151 base::android::kBaseRegisteredMethods | 151 base::android::kBaseRegisteredMethods |
| 152 40) 43683776 (99.8%) d@0x2de70a0 4 third_party/container.c | 152 40) 43683776 (99.8%) d@0x2de70a0 4 third_party/container.c |
| 153 base::android::g_renderer_histogram_code | 153 base::android::g_renderer_histogram_code |
| 154 41) 43683780 (99.8%) d@0x2de70a4 4 third_party/container.c | 154 41) 43683780 (99.8%) d@0x2de70a4 4 third_party/container.c |
| 155 base::android::g_library_version_number | 155 base::android::g_library_version_number |
| 156 42) 43785380 (100.0%) d@0x2dffd88 101600 {no path} | 156 42) 43785380 (100.0%) d@0x2dffd88 101600 {no path} |
| 157 ** symbol gap 3 (end of section) | 157 ** symbol gap 0 (end of section) |
| 158 43) 43785380 (100.0%) b@0x0 262144 third_party/fft_float.cc | 158 43) 43785380 (100.0%) b@0x0 262144 third_party/fft_float.cc |
| 159 ff_cos_131072 | 159 ff_cos_131072 |
| 160 44) 43785380 (100.0%) b@0x0 131072 third_party/fft_fixed.cc | 160 44) 43785380 (100.0%) b@0x0 131072 third_party/fft_fixed.cc |
| 161 ff_cos_131072_fixed | 161 ff_cos_131072_fixed |
| 162 45) 43785380 (100.0%) b@0x0 131072 third_party/fft_float.cc | 162 45) 43785380 (100.0%) b@0x0 131072 third_party/fft_float.cc |
| 163 ff_cos_65536 | 163 ff_cos_65536 |
| 164 46) 43785380 (100.0%) b@0x2dffda0 28 third_party/icu/ucnv_ext.c | 164 46) 43785380 (100.0%) b@0x2dffda0 28 third_party/icu/ucnv_ext.c |
| 165 g_chrome_content_browser_client | 165 g_chrome_content_browser_client |
| 166 47) 43785380 (100.0%) b@0x2dffe80 200 third_party/icu/ucnv_ext.c | 166 47) 43785380 (100.0%) b@0x2dffe80 200 third_party/icu/ucnv_ext.c |
| 167 SaveHistogram::atomic_histogram_pointer | 167 SaveHistogram::atomic_histogram_pointer |
| 168 48) 43785380 (100.0%) b@0x2dffe84 4 third_party/icu/ucnv_ext.c | 168 48) 43785380 (100.0%) b@0x2dffe84 4 third_party/icu/ucnv_ext.c |
| 169 g_AnimationFrameTimeHistogram_clazz | 169 g_AnimationFrameTimeHistogram_clazz |
| OLD | NEW |