New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 717051 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

16kb regression in resource_sizes (MonochromePublic.apk) at 468038:468038

Project Member Reported by estevenson@chromium.org, May 1 2017

Issue description

Caused by: Reporting: Set up in ProfileImplIOData.
https://codereview.chromium.org/2769083005
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=717051

Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgIDgssTu7AgM


Bot(s) for this bug's original alert(s):

Android Builder
Owner: juliatut...@chromium.org
Status: Assigned (was: Untriaged)
Is this the expected outcome of this change? Could the code be improved at all to eliminate the size jump? I don't see anything obvious, but it would be great if you could take a quick look!

Partial symbol diff for reference (via tools/binary_size/diagnose_apk_bloat.py):

122 symbols added (+), 10 changed (~), 9 removed (-), 318358 unchanged (not shown)
13 object files added, 0 removed

Showing 141 symbols with total size: 12000 bytes
.text=11.2kb     .rodata=256 bytes  other=304 bytes  total=11.7kb
Number of object files: 27

First columns are: running total, type, size
+     1152 t@0x8f3508   1152    net/net/reporting_delivery_agent.o
               net::ReportingDeliveryAgentImpl::SendReports
+     1746 t@0x8f4094   594     net/net/reporting_header_parser.o
               net::ReportingHeaderParser::ProcessEndpoint
+     2308 t@0x8f205c   562     net/net/reporting_cache.o
               net::ReportingCache::GetClientsForOriginAndGroup const
+     2738 t@0x8f4930   430     net/net/reporting_uploader.o
               net::ReportingUploaderImpl::StartUpload
+     3106 t@0x8f3b68   368     net/net/reporting_endpoint_manager.o
               net::ReportingEndpointManager::FindEndpointForOriginAndGroup
+     3430 t@0x8f42e4   324     net/net/reporting_header_parser.o
               net::ReportingHeaderParser::ParseHeader
+     3750 t@0x8f23f0   320     net/net/reporting_cache.o
               net::ReportingCache::MaybeRemoveWildcardClient
+     4052 t@0x8f1dde   302     net/net/reporting_cache.o
               std::__ndk1::__hash_table<net::ReportingReport const*, std::__ndk1::hash<net::ReportingReport const*>, std::__ndk1::equal_to<net::ReportingReport const*>, std::__ndk1::allocator<net::ReportingReport const*> >::__erase_unique<net::ReportingReport const*>
+     4326 t@0x8f39c4   274     net/net/reporting_delivery_agent.o
               net::ReportingDeliveryAgentImpl::OnUploadComplete
+     4598 t@0x8f2ea2   272     net/net/reporting_context.o
               net::ReportingContext::NotifyCacheUpdated
+     4862 t@0x8f2630   264     net/net/reporting_cache.o
               std::__ndk1::__hash_table<std::__ndk1::__hash_value_type<net::ReportingReport const*, std::__ndk1::unique_ptr<net::ReportingReport, std::__ndk1::default_delete<net::ReportingReport> > >, std::__ndk1::__unordered_map_hasher<net::ReportingReport const*, std::__ndk1::__hash_value_type<net::ReportingReport const*, std::__ndk1::unique_ptr<net::ReportingReport, std::__ndk1::default_delete<net::ReportingReport> > >, std::__ndk1::hash<net::ReportingReport const*>, true>, std::__ndk1::__unordered_map_equal<net::ReportingReport const*, std::__ndk1::__hash_value_type<net::ReportingReport const*, std::__ndk1::unique_ptr<net::ReportingReport, std::__ndk1::default_delete<net::ReportingReport> > >, std::__ndk1::equal_to<net::ReportingReport const*>, true>, std::__ndk1::allocator<std::__ndk1::__hash_value_type<net::ReportingReport const*, std::__ndk1::unique_ptr<net::ReportingReport, std::__ndk1::default_delete<net::ReportingReport> > > > >::erase
+     5118 t@0x8f3252   256     net/net/reporting_delivery_agent.o
               std::__ndk1::map<std::__ndk1::pair<url::Origin, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::vector<net::ReportingReport const*, std::__ndk1::allocator<net::ReportingReport const*> >, std::__ndk1::less<std::__ndk1::pair<url::Origin, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::pair<url::Origin, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > const, std::__ndk1::vector<net::ReportingReport const*, std::__ndk1::allocator<net::ReportingReport const*> > > > >::__find_equal_key
+     5366 t@0x8f3384   248     net/net/reporting_delivery_agent.o
               std::__ndk1::__tree<std::__ndk1::pair<url::Origin, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::less<std::__ndk1::pair<url::Origin, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > >, std::__ndk1::allocator<std::__ndk1::pair<url::Origin, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > >::find<std::__ndk1::pair<url::Origin, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > const
+     5592 t@0x8f3fb0   226     net/net/reporting_garbage_collector.o
               net::ReportingGarbageCollectorImpl::CollectGarbage
+     5804 t@0x8f2d98   212     net/net/reporting_context.o
               net::ReportingContext::~ReportingContext
+     6008 t@0x8f2814   204     net/net/reporting_cache.o
               net::ReportingCache::RemoveAllReports
+     6200 t@0x8f2554   192     net/net/reporting_cache.o
               net::ReportingCache::SetClient
+     6380 t@0x8f22f8   180     net/net/reporting_cache.o
               std::__ndk1::map<url::Origin, std::__ndk1::map<GURL, std::__ndk1::unique_ptr<net::ReportingClient, std::__ndk1::default_delete<net::ReportingClient> >, std::__ndk1::less<GURL>, std::__ndk1::allocator<std::__ndk1::pair<GURL const, std::__ndk1::unique_ptr<net::ReportingClient, std::__ndk1::default_delete<net::ReportingClient> > > > >, std::__ndk1::less<url::Origin>, std::__ndk1::allocator<std::__ndk1::pair<url::Origin const, std::__ndk1::map<GURL, std::__ndk1::unique_ptr<net::ReportingClient, std::__ndk1::default_delete<net::ReportingClient> >, std::__ndk1::less<GURL>, std::__ndk1::allocator<std::__ndk1::pair<GURL const, std::__ndk1::unique_ptr<net::ReportingClient, std::__ndk1::default_delete<net::ReportingClient> > > > > > > >::operator[]
-     6200 t@0xc0ab74   -180    content/browser/browser/broadcast_channel_provider.o
               std::__ndk1::map<url::Origin, std::__ndk1::multimap<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::unique_ptr<content::BroadcastChannelProvider::Connection, std::__ndk1::default_delete<content::BroadcastChannelProvider::Connection> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::unique_ptr<content::BroadcastChannelProvider::Connection, std::__ndk1::default_delete<content::BroadcastChannelProvider::Connection> > > > >, std::__ndk1::less<url::Origin>, std::__ndk1::allocator<std::__ndk1::pair<url::Origin const, std::__ndk1::multimap<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::unique_ptr<content::BroadcastChannelProvider::Connection, std::__ndk1::default_delete<content::BroadcastChannelProvider::Connection> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::unique_ptr<content::BroadcastChannelProvider::Connection, std::__ndk1::default_delete<content::BroadcastChannelProvider::Connection> > > > > > > >::operator[]
+     6376 t@0x8f1f4c   176     net/net/reporting_cache.o
               net::ReportingCache::GetWildcardClientsForDomainAndGroup const
+     6550 t@0x8f3e94   174     net/net/reporting_garbage_collector.o
               net::ReportingGarbageCollectorImpl::OnCacheUpdated
+     6724 t@0x8f4adc   174     net/net/reporting_uploader.o
               net::ReportingUploaderImpl::OnResponseStarted
+     6886 t@0x8f28e0   162     net/net/reporting_cache.o
               net::ReportingCache::AddReport
+     7048 t@0x8f2fb4   162     net/net/reporting_delivery_agent.o
               net::ReportingDeliveryAgentImpl::StartTimer
+     7194 t@0x8f2d08   146     net/net/reporting_context.o
               net::ReportingContext::Create
+     7336 t@0x8f2c78   142     net/net/reporting_context.o
               net::ReportingContext::ReportingContext
+     7478 t@0x8f4880   142     net/net/reporting_uploader.o
               net::ReportingUploaderImpl::~ReportingUploaderImpl
-     7338 t@0xbf1010   -140    content/browser/browser/appcache_storage_impl.o
               std::__ndk1::map<GURL, std::__ndk1::vector<content::AppCacheInfo, std::__ndk1::allocator<content::AppCacheInfo> >, std::__ndk1::less<GURL>, std::__ndk1::allocator<std::__ndk1::pair<GURL const, std::__ndk1::vector<content::AppCacheInfo, std::__ndk1::allocator<content::AppCacheInfo> > > > >::operator[]
+     7478 t@0x8f347c   140     net/net/reporting_delivery_agent.o
               std::__ndk1::map<GURL, std::__ndk1::vector<net::ReportingReport const*, std::__ndk1::allocator<net::ReportingReport const*> >, std::__ndk1::less<GURL>, std::__ndk1::allocator<std::__ndk1::pair<GURL const, std::__ndk1::vector<net::ReportingReport const*, std::__ndk1::allocator<net::ReportingReport const*> > > > >::operator[]
+     7616 t@0x8f3db8   138     net/net/reporting_endpoint_manager.o
               net::ReportingEndpointManager::ClearEndpointPending
+     7752 t@0x8f4500   136     net/net/reporting_policy.o
               net::ReportingPolicy::ReportingPolicy
+     7886 t@0x8f3d32   134     net/net/reporting_endpoint_manager.o
               net::ReportingEndpointManager::SetEndpointPending
+     8018 t@0x8f2790   132     net/net/reporting_cache.o
               net::ReportingCache::ClearReportsPending
+     8142 t@0x8f3070   124     net/net/reporting_delivery_agent.o
               net::ReportingDeliveryAgent::Create
+     8264 t@0x8f29a4   122     net/net/reporting_cache.o

diff_results.txt
40.0 KB View Download
Cc: juliatut...@chromium.org

=== Auto-CCing suspected CL author juliatuttle@chromium.org ===

Hi juliatuttle@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : juliatuttle
  Commit : 1d92f015d0b85e071f0040c53ccd8f145b55e4c1
  Date   : Fri Apr 28 17:19:21 2017
  Subject: Reporting: Set up in ProfileImplIOData.

Bisect Details
  Configuration: android_nexus7_perf_bisect
  Benchmark    : resource_sizes
  Metric       : MonochromePublic.apk_Specifics/normalized apk size
  Change       : 0.02% | 73895587.0 -> 73911971.0

Revision             Result               N
chromium@468037      73895587 +- 0.0      6      good
chromium@468038      73911971 +- 0.0      6      bad       <--

To Run This Test
  src/build/android/resource_sizes.py --chromium-output-directory {CHROMIUM_OUTPUT_DIR} --chartjson {CHROMIUM_OUTPUT_DIR}/apks/MonochromePublic.apk

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8980784297021437088

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5823883015356416


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Speed>Bisection.  Thank you!
Nothing jumps out at me as obviously shrinkable either, but the code is also still evolving. How big a deal is a 16kb jump for us?
Status: WontFix (was: Assigned)
Not a big deal but we'd prefer to avoid all unnecessary size jumps. Thanks for looking into it!
Labels: -binary-size Performance-Size

Sign in to add a comment