Instructions for measuring the FINAL performance

48 views
Skip to first unread message

Kentaro Hara

unread,
Oct 8, 2015, 3:48:23 AM10/8/15
to oilpan-...@chromium.org
Hi

It looks like that we've finished addressing all substantial regressions. Now we're ready to collect full performance numbers :)

Instructions:

- Use Chromium revision r353009.

- Use chrome official builds (i.e., GYP_DEFINES="buildtype=Official branding=Chrome").

- To restart the browser every time, you need to apply this CL (https://codereview.chromium.org/1393283002).

- Assignments:

Linux: haraken, keishi
Mac: keishi, peria
Win: peria, yutak
Nexus7: yutak

- Benchmarks:

BENCHMARKS = (
    'blink_perf.bindings',
    'blink_perf.css',
    'blink_perf.dom',
    'blink_perf.events',
    'blink_perf.layout',
    'blink_perf.mutation',
    'blink_perf.parser',
    'blink_perf.shadow_dom',
    'blink_perf.svg',
    'blink_style.key_mobile_sites',
    'blink_style.polymer',
    'blink_style.top_25',
    'dromaeo.domcoreattr',
    'dromaeo.domcoremodify',
    'dromaeo.domcorequery',
    'dromaeo.domcoretraverse',
    'memory.long_running_idle_gmail',
    'memory.long_running_idle_gmail_background',
    'memory.memory_health_plan',
    'memory.top_7_stress',
    'memory.idle_multi_tab',
    'memory.mobile_memory',
    'page_cycler.intl_ar_fa_he',
    'page_cycler.intl_es_fr_pt-BR',
    'page_cycler.intl_hi_ru',
    'page_cycler.intl_ja_zh',
    'page_cycler.intl_ko_th_vi',
    'page_cycler.top_10_mobile',
    'page_cycler.typical_25',
    'scheduler.tough_scheduling_cases',
    'smoothness.bidirectionally_scrolling_tough_ad_cases',
    'smoothness.key_mobile_sites_smooth',
    'smoothness.key_silk_cases',
    'smoothness.pathological_mobile_sites',
    'smoothness.polymer',
    'smoothness.scrolling_tough_ad_cases',
    'smoothness.simple_mobile_sites',
    'smoothness.sync_scroll.key_mobile_sites_smooth',
    'smoothness.tough_ad_cases',
    'smoothness.tough_animated_image_cases',
    'smoothness.tough_animation_cases',
    'smoothness.tough_canvas_cases',
    'smoothness.tough_filters_cases',
    'smoothness.tough_pinch_zoom_cases',
    'smoothness.tough_scrolling_cases',
    'smoothness.tough_scrolling_while_zoomed_in_cases',
    'smoothness.tough_webgl_ad_cases',
    'smoothness.top_25_smooth',
    'speedometer',
    'thread_times.key_mobile_sites_smooth',
    'thread_times.key_noop_cases',
    'thread_times.key_silk_cases',
    'thread_times.polymer',
    'thread_times.simple_mobile_sites',
    'thread_times.tough_scrolling_cases',
)

- Run each benchmark with --page-repeat=1. Run each benchmark at least 10 times.


--
Kentaro Hara, Tokyo, Japan

Kentaro Hara

unread,
Oct 12, 2015, 10:18:03 PM10/12/15
to oilpan-...@chromium.org
This is the result taken on my Linux:

At a first glance, there is no substantial regression.

The only regression we have to justify is the peak memory increase in memory.* benchmarks. I'll do an experiment to confirm that the regression is gone if we increase the frequency of conservative GCs enough. Then we can prove that the peak memory increase is just caused by GC timings.




Keishi Hattori

unread,
Oct 12, 2015, 10:52:42 PM10/12/15
to Kentaro Hara, oilpan-...@chromium.org

Hitoshi Yoshida

unread,
Oct 12, 2015, 11:43:54 PM10/12/15
to Kentaro Hara, oilpan-...@chromium.org
2015-10-13 11:17 GMT+09:00 Kentaro Hara <har...@chromium.org>:
This is the result taken on my Linux:

At a first glance, there is no substantial regression.

The only regression we have to justify is the peak memory increase in memory.* benchmarks. I'll do an experiment to confirm that the regression is gone if we increase the frequency of conservative GCs enough. Then we can prove that the peak memory increase is just caused by GC timings.


Could you share the HTML file with http://googledrive.com/host/<docID> style or its redirection?
Otherwise we need to download the file to see it as a HTML page. :)

Google Japan Inc.
Software Engineer
Hitoshi Yoshida (吉田 仁)

Keishi Hattori

unread,
Oct 13, 2015, 12:04:41 AM10/13/15
to Hitoshi Yoshida, Kentaro Hara, oilpan-...@chromium.org
haraken's linux results look slightly better so I think we should use that.

My linux results:
https://www.xpeg.org/keishi-linux-1009.html
--
- Keishi

Kentaro Hara

unread,
Oct 13, 2015, 12:21:42 AM10/13/15
to Hitoshi Yoshida, oilpan-...@chromium.org
On Tue, Oct 13, 2015 at 12:43 PM, Hitoshi Yoshida <pe...@chromium.org> wrote:


2015-10-13 11:17 GMT+09:00 Kentaro Hara <har...@chromium.org>:
This is the result taken on my Linux:

At a first glance, there is no substantial regression.

The only regression we have to justify is the peak memory increase in memory.* benchmarks. I'll do an experiment to confirm that the regression is gone if we increase the frequency of conservative GCs enough. Then we can prove that the peak memory increase is just caused by GC timings.


Could you share the HTML file with http://googledrive.com/host/<docID> style or its redirection?
Otherwise we need to download the file to see it as a HTML page. :)

Kentaro Hara

unread,
Oct 13, 2015, 12:27:01 AM10/13/15
to Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
As far as I see haraken's Linux, keishi's Linux and keishi's Mac, the only benchmarks that are consistently regressing are as follows:

- css.PseudoClassSelectors
- parser.iframe-append-remove (because it is creating too many iframes)
- shadow_dom.DistributionWithMultipleShadowRoots (multiple shadow roots are deprecated)
- dromaeo.domcorequery:dom_query_getElementsByName
- dromaeo.domcoremodify:dom_modify_createTextNode
- blink_perf.parser:xml-parser
- blink_style.update_style (because it is creating too many StyleResolvers)

Either way, I don't think these regressions are something that blocks oilpan's shipping.




Kentaro Hara

unread,
Oct 13, 2015, 12:29:27 AM10/13/15
to Keishi Hattori, oilpan-...@chromium.org
On Tue, Oct 13, 2015 at 11:52 AM, Keishi Hattori <kei...@google.com> wrote:
Speedometer and blink_style look good. query-selector could use some improvement.

Mac results:
https://www.xpeg.org/keishi-mac-1009.microbench.html

^^^ Can we get a result for memory.top_7_stress?
 

^^^ I cannot open this one.

Keishi Hattori

unread,
Oct 13, 2015, 12:33:36 AM10/13/15
to Kentaro Hara, oilpan-...@chromium.org
memory.top_7_stress data is missing. I'll see why.

File was too big. Reduced to 10 runs. (still 100MB)
https://www.xpeg.org/keishi-mac-1009.smoothness.html
--
- Keishi

Hitoshi Yoshida

unread,
Oct 13, 2015, 12:37:08 AM10/13/15
to Keishi Hattori, Kentaro Hara, oilpan-...@chromium.org
It seems that top-7-stress test is disabled on Yosemite, and I also couldn't get its result.
Is your MacOSX 10.10.5 (Yosemite)?

Keishi Hattori

unread,
Oct 13, 2015, 12:38:08 AM10/13/15
to Hitoshi Yoshida, Kentaro Hara, oilpan-...@chromium.org
Yes 10.10.5
--
- Keishi

Hitoshi Yoshida

unread,
Oct 13, 2015, 12:53:47 AM10/13/15
to Kentaro Hara, oilpan-...@chromium.org
This is my result, but the result for Windows seems unreliable.

Overall result is similar to keishi@'s result.
Some microbench scored worse than keishi@'s, and others are good.


There is an output for this, but I feel this result unreliable.
I got this result on Sat night, it meant to be done in 24h, and some metrics have very few values.
I started tests again from then, and it is still running over Sun. and Mon.
Let me check how many runs it have done, and update the result.

Kentaro Hara

unread,
Oct 13, 2015, 1:19:29 AM10/13/15
to Hitoshi Yoshida, oilpan-...@chromium.org
On Tue, Oct 13, 2015 at 1:53 PM, Hitoshi Yoshida <pe...@chromium.org> wrote:
This is my result, but the result for Windows seems unreliable.

Overall result is similar to keishi@'s result.
Some microbench scored worse than keishi@'s, and others are good.

It seems a couple of benchmarks are missing from the result (e.g., blink_style, speedometer). However, overall the result looks similar to keishi's Mac, so we can just use keishi's Mac.

 

There is an output for this, but I feel this result unreliable.
I got this result on Sat night, it meant to be done in 24h, and some metrics have very few values.
I started tests again from then, and it is still running over Sun. and Mon.
Let me check how many runs it have done, and update the result.

Thanks! The windows result looks much better than Mac and Linux. This matches our experience -- Mac and Linux are more sensitive than Windows.

Keishi Hattori

unread,
Oct 13, 2015, 1:23:04 AM10/13/15
to Kentaro Hara, Hitoshi Yoshida, oilpan-...@chromium.org
Just ran the disabled memory.top_7_stress on mac. Looks like plus.google.com and Blogger timeout.
--
- Keishi

Kentaro Hara

unread,
Oct 13, 2015, 1:26:58 AM10/13/15
to Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
On Tue, Oct 13, 2015 at 2:22 PM, Keishi Hattori <kei...@google.com> wrote:
Just ran the disabled memory.top_7_stress on mac. Looks like plus.google.com and Blogger timeout.

Thanks!

In conclusion:

- Regarding Linux, we got enough results. We'll use haraken's result.
- Regarding Mac, we got enough results. We'll use keishi's result.
- Regarding Win, we're waiting for peria's result and yutak's result.
- Regarding Nexus7, we're waiting for yutak's result. 

Yuta Kitamura

unread,
Oct 13, 2015, 1:34:26 AM10/13/15
to Kentaro Hara, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
Please be patient for mobile results and my Windows results. Nexus 7 has passed 90%, Windows has completed 17/20 loops, so I hope the complete results for these platforms will be up by the end of tomorrow. I will then compile others' results so we can glance the results from all platforms in one page.

(My Nexus 4 cluster doesn't have enough capacity at this time, so expect no results from them.)

Hitoshi Yoshida

unread,
Oct 13, 2015, 2:49:01 AM10/13/15
to Yuta Kitamura, Kentaro Hara, Keishi Hattori, oilpan-...@chromium.org
This is my new result on Windows. It contains the result of 13 runs (my machine continues running to go through 7 more loops)
This page is very large, so I recommend you to open on a powerful machine. (I'll split it into some pages)

Looking the result, I noticed following regressions
- [memory] long running idle GMail regresses 7%
- [memory] in top-7-stress, Blogger regresses largely (~14%)
- [perf] dromaeo regresses in dom_query_getElementsByName and dom_modify_createTextNode ~10%

Keishi Hattori

unread,
Oct 13, 2015, 4:15:58 AM10/13/15
to Hitoshi Yoshida, Yuta Kitamura, Kentaro Hara, oilpan-...@chromium.org

Yuta Kitamura

unread,
Oct 14, 2015, 7:04:45 AM10/14/15
to Keishi Hattori, Hitoshi Yoshida, Kentaro Hara, oilpan-...@chromium.org

Kentaro Hara

unread,
Oct 14, 2015, 7:46:35 PM10/14/15
to Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
Thanks yuta-san for the result!

I scanned the result of Nexus 7 and Windows. I see no issues except:

- Peak memory increase in memory benchmarks (which we're going to justify).
- Results for blink_perf.bindings on Nexus7 is missing.

keishi-san: yutak's Windows results for blink_perf looks very promising. Would you create the graph (https://docs.google.com/spreadsheets/d/1KVoORSHCdEOcluayQZ3yJ7LmmCGMrGdec-VX0rn4zFo/edit?usp=sharing) for yutak's Windows result as well?

I'll write a brief summary document so that we can publish the result to blink-dev@.





Kentaro Hara

unread,
Oct 14, 2015, 7:59:14 PM10/14/15
to Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
yuta-san: Would you apply this CL (https://codereview.chromium.org/1397763003/) and measure memory.* on Nexus 7? I want to make sure that the peak memory regression is mostly gone if we increase GC frequency enough.




Kentaro Hara

unread,
Oct 14, 2015, 9:39:58 PM10/14/15
to Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
I started writing the final performance report. (I'm not planning to write a long document.)
https://docs.google.com/document/d/1cm0O3XOaHQWxy-mdlht5eNe3JoLzzXtn6o4tYjbIaVw/edit#

I added edit permissions to you; feel free to edit.

Kentaro Hara

unread,
Oct 15, 2015, 12:10:49 AM10/15/15
to Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
I mostly finished analyzing all the data. The result looks pretty good!

In summary, I might want to get the following data.

- blink_perf.bindings and blink_style on Nexus7 (yutak@)
- memory.* with https://codereview.chromium.org/1397763003/ on Nexus7 (yutak@)






Kentaro Hara

unread,
Oct 15, 2015, 12:17:38 AM10/15/15
to Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
On Thu, Oct 15, 2015 at 1:10 PM, Kentaro Hara <har...@chromium.org> wrote:
I mostly finished analyzing all the data. The result looks pretty good!

In summary, I might want to get the following data.
 
- blink_perf.bindings and blink_style on Nexus7 (yutak@)

blink_perf.parser is missing as well.

Yuta Kitamura

unread,
Oct 15, 2015, 12:50:44 AM10/15/15
to Kentaro Hara, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
On Thu, Oct 15, 2015 at 1:17 PM, Kentaro Hara <har...@chromium.org> wrote:
On Thu, Oct 15, 2015 at 1:10 PM, Kentaro Hara <har...@chromium.org> wrote:
I mostly finished analyzing all the data. The result looks pretty good!

In summary, I might want to get the following data.
 
- blink_perf.bindings and blink_style on Nexus7 (yutak@)

I removed blink_perf.bindings from the tests list when it was disabled, but I forgot to put it back once it was reenabled. I'm running it now.

blink_style was run successfully, but I forgot to collect the raw data when I compiled the summary.

I will get back to you when these issues are corrected.
 

blink_perf.parser is missing as well.

blink_perf.parser is disabled on Win and Android, so WAI.

Kentaro Hara

unread,
Oct 15, 2015, 1:47:01 AM10/15/15
to Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
I finished writing the document. Feel free to edit/comment.



Yuta Kitamura

unread,
Oct 15, 2015, 4:07:12 AM10/15/15
to Kentaro Hara, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
On Thu, Oct 15, 2015 at 1:50 PM, Yuta Kitamura <yu...@chromium.org> wrote:


On Thu, Oct 15, 2015 at 1:17 PM, Kentaro Hara <har...@chromium.org> wrote:
On Thu, Oct 15, 2015 at 1:10 PM, Kentaro Hara <har...@chromium.org> wrote:
I mostly finished analyzing all the data. The result looks pretty good!

In summary, I might want to get the following data.
 
- blink_perf.bindings and blink_style on Nexus7 (yutak@)

I removed blink_perf.bindings from the tests list when it was disabled, but I forgot to put it back once it was reenabled. I'm running it now.

blink_style was run successfully, but I forgot to collect the raw data when I compiled the summary.

I will get back to you when these issues are corrected.

Kentaro Hara

unread,
Oct 15, 2015, 4:11:36 AM10/15/15
to Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
I'm going to send out the document to blink-dev@ tonight. Leave your comments before then.


Sigbjorn Finne

unread,
Oct 16, 2015, 3:38:06 AM10/16/15
to Kentaro Hara, Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
Den 10/15/2015 10:11, Kentaro Hara skreiv:
> I'm going to send out the document to blink-dev@ tonight. Leave your
> comments before then.
>

Thanks everyone for gathering the performance data and going through
them carefully; great work (and the final time this had to be done
across all platforms? :-) )

--sigbjorn

Kentaro Hara

unread,
Oct 16, 2015, 3:49:55 AM10/16/15
to Sigbjorn Finne, Yuta Kitamura, Keishi Hattori, Hitoshi Yoshida, oilpan-...@chromium.org
Yes, we're done!

We'll start shipping oilpan anytime soon. A bunch of stabilization work & code clean-up will be incoming :)

I already started a thread to discuss a concrete step with Chrome release managers. I'll keep you updated.



Reply all
Reply to author
Forward
0 new messages