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

Issue 605017 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Perf regression in static initializers on Mac and Linux x64 bots

Project Member Reported by msramek@chromium.org, Apr 20 2016

Issue description

Perf regression: the count of static initializers increased from 7 to 8.

Mac first appearance:
https://build.chromium.org/p/chromium/builders/Mac/builds/14593
251401..251410

Linux x64 first appearance:
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/18412
251403..251411

Intersection:
251403..251410

Suspect: https://codereview.chromium.org/1624703002 adds a complex static initializer in stream_parser_factory.cc.
 
Proceeding to try and revert.
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ef7f9b51dd116fae33dc98bcc612c3d41719b299

commit ef7f9b51dd116fae33dc98bcc612c3d41719b299
Author: msramek <msramek@chromium.org>
Date: Wed Apr 20 07:23:55 2016

Revert of Implement support for vp9 in ISO-BMFF (patchset #15 id:280001 of https://codereview.chromium.org/1624703002/ )

Reason for revert:
Suspect for perf regression: increased the number of static initializers (in stream_parser_factory.cc).

https://build.chromium.org/p/chromium/builders/Mac/builds/14593
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/18412

See  crbug.com/605017  for more details.

Original issue's description:
> Implement support for vp9 in ISO-BMFF
>
> The feature is implemented under flag ENABLE_MP4_VP9_DEMUXING, off for now.
>
> BUG= 580623 

TBR=ddorwin@chromium.org,sandersd@chromium.org,wolenetz@chromium.org,xhwang@chromium.org,kqyang@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 580623 , 605017 

Review URL: https://codereview.chromium.org/1899423002

Cr-Commit-Position: refs/heads/master@{#388435}

[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/chrome/browser/media/DEPS
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/chrome/renderer/media/DEPS
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/chrome/renderer/media/chrome_key_systems.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/content/browser/media/media_canplaytype_browsertest.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/BUILD.gn
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/base/eme_constants.h
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/base/key_systems.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/base/mime_util_internal.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/base/mime_util_internal.h
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/base/mime_util_unittest.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/filters/stream_parser_factory.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/formats/mp4/box_definitions.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/formats/mp4/fourccs.h
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/formats/mp4/mp4_stream_parser.cc
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/media.gyp
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/test/data/README
[delete] https://crrev.com/1c325bfc6e6db6b6ab054cc165b849b9500e3e44/media/test/data/bear-320x240-v_frag-vp9-cenc.mp4
[delete] https://crrev.com/1c325bfc6e6db6b6ab054cc165b849b9500e3e44/media/test/data/bear-320x240-v_frag-vp9.mp4
[modify] https://crrev.com/ef7f9b51dd116fae33dc98bcc612c3d41719b299/media/test/pipeline_integration_test.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12b50592aaa21512a756cb4d520e56ffa91bb34f

commit 12b50592aaa21512a756cb4d520e56ffa91bb34f
Author: msramek <msramek@chromium.org>
Date: Wed Apr 20 08:15:33 2016

Reland of Implement support for vp9 in ISO-BMFF (patchset #1 id:1 of https://codereview.chromium.org/1899423002/ )

Reason for revert:
My suspicion was wrong. The reverted CL was not the culprit.

Original issue's description:
> Revert of Implement support for vp9 in ISO-BMFF (patchset #15 id:280001 of https://codereview.chromium.org/1624703002/ )
>
> Reason for revert:
> Suspect for perf regression: increased the number of static initializers (in stream_parser_factory.cc).
>
> https://build.chromium.org/p/chromium/builders/Mac/builds/14593
> https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/18412
>
> See  crbug.com/605017  for more details.
>
> Original issue's description:
> > Implement support for vp9 in ISO-BMFF
> >
> > The feature is implemented under flag ENABLE_MP4_VP9_DEMUXING, off for now.
> >
> > BUG= 580623 
>
> TBR=ddorwin@chromium.org,sandersd@chromium.org,wolenetz@chromium.org,xhwang@chromium.org,kqyang@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG= 580623 , 605017 

TBR=ddorwin@chromium.org,sandersd@chromium.org,wolenetz@chromium.org,xhwang@chromium.org,kqyang@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 580623 , 605017 

Review URL: https://codereview.chromium.org/1897363004

Cr-Commit-Position: refs/heads/master@{#388442}

[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/chrome/browser/media/DEPS
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/chrome/renderer/media/DEPS
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/chrome/renderer/media/chrome_key_systems.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/content/browser/media/media_canplaytype_browsertest.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/BUILD.gn
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/base/eme_constants.h
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/base/key_systems.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/base/mime_util_internal.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/base/mime_util_internal.h
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/base/mime_util_unittest.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/filters/stream_parser_factory.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/formats/mp4/box_definitions.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/formats/mp4/fourccs.h
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/formats/mp4/mp4_stream_parser.cc
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/media.gyp
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/test/data/README
[add] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/test/data/bear-320x240-v_frag-vp9-cenc.mp4
[add] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/test/data/bear-320x240-v_frag-vp9.mp4
[modify] https://crrev.com/12b50592aaa21512a756cb4d520e56ffa91bb34f/media/test/pipeline_integration_test.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f420bc5e1085bf754adfa8fb15ab755866e03227

commit f420bc5e1085bf754adfa8fb15ab755866e03227
Author: msramek <msramek@chromium.org>
Date: Wed Apr 20 08:19:34 2016

Revert of Rate limit programmatic update checks for extensions (patchset #7 id:120001 of https://codereview.chromium.org/1887253002/ )

Reason for revert:
This CL is suspected by sheriff-o-matic to have caused the perf regression in the number of static initializers.

See  crbug.com/605017  for more details.

Original issue's description:
> Rate limit programmatic update checks for extensions
>
> Previously extensions could call the runtime.requestUpdateCheck method
> as often as every 5 seconds. This CL introduces a more restrictive
> policy of around one extra check per autoupdate period, and changes the
> implementation location of the rate limiting from within the
> ExtensionUpdater code itself to the ChromeRuntimeAPIDelegate, and makes
> it more flexible by using net::BackoffEntry.
>
> BUG= 599310 

TBR=rdevlin.cronin@chromium.org,asargent@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 599310 , 605017 

Review URL: https://codereview.chromium.org/1903713002

Cr-Commit-Position: refs/heads/master@{#388444}

[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h
[delete] https://crrev.com/e4b98e2d9ff4fceae0d515d5795e677ff4518223/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate_unittest.cc
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/chrome/browser/extensions/extension_service.cc
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/chrome/browser/extensions/updater/extension_updater.cc
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/chrome/browser/extensions/updater/extension_updater.h
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/chrome/chrome_tests_unit.gypi
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/extensions/browser/event_router.h
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/extensions/browser/updater/extension_downloader.cc
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/extensions/browser/updater/extension_downloader.h
[delete] https://crrev.com/e4b98e2d9ff4fceae0d515d5795e677ff4518223/extensions/browser/updater/extension_downloader_test_delegate.h
[modify] https://crrev.com/f420bc5e1085bf754adfa8fb15ab755866e03227/extensions/extensions.gypi

Cc: -kqyang@chromium.org msramek@chromium.org bcwh...@chromium.org asargent@chromium.org cmumford@chromium.org
Owner: asargent@chromium.org
The "sizes" test is now green again.

Assigning to asargent@ to fix and reland.
+cc sheriffs FYI
Status: Fixed (was: Started)
I'm going to mark this bug as Fixed since the revert made the bots green again, and will reland my fixed change on the original CL's  bug 599310 .

In case anyone is curious what happened here, the problem seems to be that my declaration of a net::BackoffEntry::Policy struct, while normally fine to have as a static constant, caused an initializer to be created because one of the values I was providing for a member of the struct used arithmetic referencing a constant defined in extensions/common/constants.h, but the value for that constant gets compiled into a different library from where I was defining this struct (chrome/browser/).

Sign in to add a comment