| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """The page cycler v2. | 5 """The page cycler v2. |
| 6 | 6 |
| 7 For details, see design doc: | 7 For details, see design doc: |
| 8 https://docs.google.com/document/d/1EZQX-x3eEphXupiX-Hq7T4Afju5_sIdxPWYetj7ynd0 | 8 https://docs.google.com/document/d/1EZQX-x3eEphXupiX-Hq7T4Afju5_sIdxPWYetj7ynd0 |
| 9 """ | 9 """ |
| 10 | 10 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 if (cls.IsSvelte(possible_browser) or | 57 if (cls.IsSvelte(possible_browser) or |
| 58 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X' or | 58 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X' or |
| 59 possible_browser.platform.GetDeviceTypeName() == 'AOSP on BullHead'): | 59 possible_browser.platform.GetDeviceTypeName() == 'AOSP on BullHead'): |
| 60 return True | 60 return True |
| 61 | 61 |
| 62 return False | 62 return False |
| 63 | 63 |
| 64 | 64 |
| 65 @benchmark.Disabled('win10') | 65 @benchmark.Disabled('win10') |
| 66 @benchmark.Disabled('android') # crbug.com/654217 | 66 @benchmark.Disabled('android') # crbug.com/654217 |
| 67 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 67 class PageCyclerV2Typical25(_PageCyclerV2): | 68 class PageCyclerV2Typical25(_PageCyclerV2): |
| 68 """Page load time benchmark for a 25 typical web pages. | 69 """Page load time benchmark for a 25 typical web pages. |
| 69 | 70 |
| 70 Designed to represent typical, not highly optimized or highly popular web | 71 Designed to represent typical, not highly optimized or highly popular web |
| 71 sites. Runs against pages recorded in June, 2014. | 72 sites. Runs against pages recorded in June, 2014. |
| 72 """ | 73 """ |
| 73 | 74 |
| 74 @classmethod | 75 @classmethod |
| 75 def Name(cls): | 76 def Name(cls): |
| 76 return 'page_cycler_v2.typical_25' | 77 return 'page_cycler_v2.typical_25' |
| 77 | 78 |
| 78 def CreateStorySet(self, options): | 79 def CreateStorySet(self, options): |
| 79 return page_sets.Typical25PageSet(run_no_page_interactions=True, | 80 return page_sets.Typical25PageSet(run_no_page_interactions=True, |
| 80 cache_temperatures=[ | 81 cache_temperatures=[ |
| 81 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 82 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 82 | 83 |
| 83 | 84 |
| 85 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 84 class PageCyclerV2IntlArFaHe(_PageCyclerV2): | 86 class PageCyclerV2IntlArFaHe(_PageCyclerV2): |
| 85 """Page load time for a variety of pages in Arabic, Farsi and Hebrew. | 87 """Page load time for a variety of pages in Arabic, Farsi and Hebrew. |
| 86 | 88 |
| 87 Runs against pages recorded in April, 2013. | 89 Runs against pages recorded in April, 2013. |
| 88 """ | 90 """ |
| 89 page_set = page_sets.IntlArFaHePageSet | 91 page_set = page_sets.IntlArFaHePageSet |
| 90 | 92 |
| 91 @classmethod | 93 @classmethod |
| 92 def Name(cls): | 94 def Name(cls): |
| 93 return 'page_cycler_v2.intl_ar_fa_he' | 95 return 'page_cycler_v2.intl_ar_fa_he' |
| 94 | 96 |
| 95 def CreateStorySet(self, options): | 97 def CreateStorySet(self, options): |
| 96 return page_sets.IntlArFaHePageSet(cache_temperatures=[ | 98 return page_sets.IntlArFaHePageSet(cache_temperatures=[ |
| 97 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 99 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 98 | 100 |
| 99 | 101 |
| 102 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 100 class PageCyclerV2IntlEsFrPtBr(_PageCyclerV2): | 103 class PageCyclerV2IntlEsFrPtBr(_PageCyclerV2): |
| 101 """Page load time for a pages in Spanish, French and Brazilian Portuguese. | 104 """Page load time for a pages in Spanish, French and Brazilian Portuguese. |
| 102 | 105 |
| 103 Runs against pages recorded in April, 2013. | 106 Runs against pages recorded in April, 2013. |
| 104 """ | 107 """ |
| 105 page_set = page_sets.IntlEsFrPtBrPageSet | 108 page_set = page_sets.IntlEsFrPtBrPageSet |
| 106 | 109 |
| 107 @classmethod | 110 @classmethod |
| 108 def Name(cls): | 111 def Name(cls): |
| 109 return 'page_cycler_v2.intl_es_fr_pt-BR' | 112 return 'page_cycler_v2.intl_es_fr_pt-BR' |
| 110 | 113 |
| 111 def CreateStorySet(self, options): | 114 def CreateStorySet(self, options): |
| 112 return page_sets.IntlEsFrPtBrPageSet(cache_temperatures=[ | 115 return page_sets.IntlEsFrPtBrPageSet(cache_temperatures=[ |
| 113 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 116 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 114 | 117 |
| 115 | 118 |
| 119 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 116 class PageCyclerV2IntlHiRu(_PageCyclerV2): | 120 class PageCyclerV2IntlHiRu(_PageCyclerV2): |
| 117 """Page load time benchmark for a variety of pages in Hindi and Russian. | 121 """Page load time benchmark for a variety of pages in Hindi and Russian. |
| 118 | 122 |
| 119 Runs against pages recorded in April, 2013. | 123 Runs against pages recorded in April, 2013. |
| 120 """ | 124 """ |
| 121 page_set = page_sets.IntlHiRuPageSet | 125 page_set = page_sets.IntlHiRuPageSet |
| 122 | 126 |
| 123 @classmethod | 127 @classmethod |
| 124 def Name(cls): | 128 def Name(cls): |
| 125 return 'page_cycler_v2.intl_hi_ru' | 129 return 'page_cycler_v2.intl_hi_ru' |
| 126 | 130 |
| 127 def CreateStorySet(self, options): | 131 def CreateStorySet(self, options): |
| 128 return page_sets.IntlHiRuPageSet(cache_temperatures=[ | 132 return page_sets.IntlHiRuPageSet(cache_temperatures=[ |
| 129 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 133 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 130 | 134 |
| 131 | 135 |
| 132 @benchmark.Disabled('android') # crbug.com/666898 | 136 @benchmark.Disabled('android') # crbug.com/666898 |
| 137 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 133 class PageCyclerV2IntlJaZh(_PageCyclerV2): | 138 class PageCyclerV2IntlJaZh(_PageCyclerV2): |
| 134 """Page load time benchmark for a variety of pages in Japanese and Chinese. | 139 """Page load time benchmark for a variety of pages in Japanese and Chinese. |
| 135 | 140 |
| 136 Runs against pages recorded in April, 2013. | 141 Runs against pages recorded in April, 2013. |
| 137 """ | 142 """ |
| 138 | 143 |
| 139 @classmethod | 144 @classmethod |
| 140 def Name(cls): | 145 def Name(cls): |
| 141 return 'page_cycler_v2.intl_ja_zh' | 146 return 'page_cycler_v2.intl_ja_zh' |
| 142 | 147 |
| 143 def CreateStorySet(self, options): | 148 def CreateStorySet(self, options): |
| 144 return page_sets.IntlJaZhPageSet(cache_temperatures=[ | 149 return page_sets.IntlJaZhPageSet(cache_temperatures=[ |
| 145 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 150 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 146 | 151 |
| 147 | 152 |
| 153 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 148 class PageCyclerV2IntlKoThVi(_PageCyclerV2): | 154 class PageCyclerV2IntlKoThVi(_PageCyclerV2): |
| 149 """Page load time for a variety of pages in Korean, Thai and Vietnamese. | 155 """Page load time for a variety of pages in Korean, Thai and Vietnamese. |
| 150 | 156 |
| 151 Runs against pages recorded in April, 2013. | 157 Runs against pages recorded in April, 2013. |
| 152 """ | 158 """ |
| 153 page_set = page_sets.IntlKoThViPageSet | 159 page_set = page_sets.IntlKoThViPageSet |
| 154 | 160 |
| 155 @classmethod | 161 @classmethod |
| 156 def Name(cls): | 162 def Name(cls): |
| 157 return 'page_cycler_v2.intl_ko_th_vi' | 163 return 'page_cycler_v2.intl_ko_th_vi' |
| 158 | 164 |
| 159 def CreateStorySet(self, options): | 165 def CreateStorySet(self, options): |
| 160 return page_sets.IntlKoThViPageSet(cache_temperatures=[ | 166 return page_sets.IntlKoThViPageSet(cache_temperatures=[ |
| 161 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 167 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 162 | 168 |
| 163 | 169 |
| 164 @benchmark.Enabled('android') | 170 @benchmark.Enabled('android') |
| 171 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 165 class PageCyclerV2Top10Mobile(_PageCyclerV2): | 172 class PageCyclerV2Top10Mobile(_PageCyclerV2): |
| 166 """Page load time benchmark for the top 10 mobile web pages. | 173 """Page load time benchmark for the top 10 mobile web pages. |
| 167 | 174 |
| 168 Runs against pages recorded in November, 2013. | 175 Runs against pages recorded in November, 2013. |
| 169 """ | 176 """ |
| 170 | 177 |
| 171 @classmethod | 178 @classmethod |
| 172 def Name(cls): | 179 def Name(cls): |
| 173 return 'page_cycler_v2.top_10_mobile' | 180 return 'page_cycler_v2.top_10_mobile' |
| 174 | 181 |
| 175 def CreateStorySet(self, options): | 182 def CreateStorySet(self, options): |
| 176 return page_sets.Top10MobilePageSet(run_no_page_interactions=True, | 183 return page_sets.Top10MobilePageSet(run_no_page_interactions=True, |
| 177 cache_temperatures=[ | 184 cache_temperatures=[ |
| 178 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 185 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 179 | 186 |
| 180 | 187 |
| 188 @benchmark.Owner(emails=['kouhei@chromium.org', 'ksakamoto@chromium.org']) |
| 181 class PageCyclerV2ToughLayoutCases(_PageCyclerV2): | 189 class PageCyclerV2ToughLayoutCases(_PageCyclerV2): |
| 182 """Page loading for the slowest layouts observed in the Alexa top 1 million. | 190 """Page loading for the slowest layouts observed in the Alexa top 1 million. |
| 183 | 191 |
| 184 Recorded in July 2013. | 192 Recorded in July 2013. |
| 185 """ | 193 """ |
| 186 page_set = page_sets.ToughLayoutCasesPageSet | 194 page_set = page_sets.ToughLayoutCasesPageSet |
| 187 | 195 |
| 188 @classmethod | 196 @classmethod |
| 189 def Name(cls): | 197 def Name(cls): |
| 190 return 'page_cycler_v2.tough_layout_cases' | 198 return 'page_cycler_v2.tough_layout_cases' |
| 191 | 199 |
| 192 def CreateStorySet(self, options): | 200 def CreateStorySet(self, options): |
| 193 return page_sets.ToughLayoutCasesPageSet(cache_temperatures=[ | 201 return page_sets.ToughLayoutCasesPageSet(cache_temperatures=[ |
| 194 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 202 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 195 | 203 |
| 196 | 204 |
| 197 @benchmark.Disabled('reference', 'android') | 205 @benchmark.Disabled('reference', 'android') |
| 206 @benchmark.Owner(emails=['nasko@chromium.org']) |
| 198 class PageCyclerV2BasicOopifIsolated(_PageCyclerV2): | 207 class PageCyclerV2BasicOopifIsolated(_PageCyclerV2): |
| 199 """ A benchmark measuring performance of out-of-process iframes. """ | 208 """ A benchmark measuring performance of out-of-process iframes. """ |
| 200 page_set = page_sets.OopifBasicPageSet | 209 page_set = page_sets.OopifBasicPageSet |
| 201 | 210 |
| 202 @classmethod | 211 @classmethod |
| 203 def Name(cls): | 212 def Name(cls): |
| 204 return 'page_cycler_v2_site_isolation.basic_oopif' | 213 return 'page_cycler_v2_site_isolation.basic_oopif' |
| 205 | 214 |
| 206 def SetExtraBrowserOptions(self, options): | 215 def SetExtraBrowserOptions(self, options): |
| 207 options.AppendExtraBrowserArgs(['--site-per-process']) | 216 options.AppendExtraBrowserArgs(['--site-per-process']) |
| 208 | 217 |
| 209 def CreateStorySet(self, options): | 218 def CreateStorySet(self, options): |
| 210 return page_sets.OopifBasicPageSet(cache_temperatures=[ | 219 return page_sets.OopifBasicPageSet(cache_temperatures=[ |
| 211 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 220 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| 212 | 221 |
| 213 @benchmark.Disabled('android') | 222 @benchmark.Disabled('android') |
| 223 @benchmark.Owner(emails=['nasko@chromium.org']) |
| 214 class PageCyclerV2BasicOopif(_PageCyclerV2): | 224 class PageCyclerV2BasicOopif(_PageCyclerV2): |
| 215 """ A benchmark measuring performance of the out-of-process iframes page | 225 """ A benchmark measuring performance of the out-of-process iframes page |
| 216 set, without running in out-of-process iframes mode.. """ | 226 set, without running in out-of-process iframes mode.. """ |
| 217 page_set = page_sets.OopifBasicPageSet | 227 page_set = page_sets.OopifBasicPageSet |
| 218 | 228 |
| 219 @classmethod | 229 @classmethod |
| 220 def Name(cls): | 230 def Name(cls): |
| 221 return 'page_cycler_v2.basic_oopif' | 231 return 'page_cycler_v2.basic_oopif' |
| 222 | 232 |
| 223 def CreateStorySet(self, options): | 233 def CreateStorySet(self, options): |
| 224 return page_sets.OopifBasicPageSet(cache_temperatures=[ | 234 return page_sets.OopifBasicPageSet(cache_temperatures=[ |
| 225 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 235 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| OLD | NEW |