mtklein
1d65fe2932
In recording benches, record to and from the same format.
...
The recording bench must record some source material into some sort of
display list, and fundamentally cannot separate the timing of the two.
This CL makes it so the source material and display list are of the same type.
So instead of previous:
--nolite: SkRecord-based picture -> SkRecord-based picture
--lite: SkRecord-based picture -> threadsafe SkLiteDL
Now this times
--nolite: SkRecord-based picture -> SkRecord-based picture
--lite: SkLiteDL -> threadsafe SkLiteDL
This makes it easier to profile SkLiteDL and explore both recording and playback overhead hot spots.
The threadsafety is incidental for the source (and doesn't affect playback speed),
but I think it's handy to keep around on the destination to make a more fair comparison.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230323002
Review-Url: https://codereview.chromium.org/2230323002
2016-08-10 12:09:34 -07:00
mtklein
8c1a4f80d9
update picture recording benchmarks to allow comparison with SkLiteRecorder
...
Here's a demo. The new code is still looking 2-3x faster.
~/skia (bench) $ r nanobench --match nytimes --config nonrendering --ms 2000
curr/maxrss loops min median mean max stddev samples config bench
19/26 MB 2 146µs 147µs 151µs 422µs 9% 6615 nonrendering desk_nytimes.skp
20/26 MB 4 46.6µs 46.9µs 48.2µs 204µs 10% 10370 nonrendering keymobi_nytimes_com_.skp
~/skia (bench) $ r nanobench --match nytimes --config nonrendering --ms 2000 --lite
curr/maxrss loops min median mean max stddev samples config bench
19/26 MB 2 73.8µs 76.9µs 78.7µs 417µs 14% 12702 nonrendering desk_nytimes.skp
20/26 MB 5 18.5µs 18.7µs 19.3µs 137µs 12% 20713 nonrendering keymobi_nytimes_com_.skp
Here's a quick performance diff, where <1x means --lite is faster:
top25desk_wikipedia__1_tab_.skp 285us -> 364us 1.27x
top25desk_games_yahoo_com.skp 302us -> 329us 1.09x
tabl_mozilla.skp 241us -> 260us 1.08x
desk_chalkboard.skp 321us -> 313us 0.98x
tabl_gamedeksiam.skp 383us -> 367us 0.96x
top25desk_pinterest.skp 375us -> 281us 0.75x
keymobi_reddit_com_r_programmin.skp 258us -> 142us 0.55x
desk_nytimes.skp 149us -> 77.9us 0.52x
keymobi_worldjournal_com_.skp 201us -> 104us 0.52x
top25desk_blogger.skp 112us -> 55us 0.49x
top25desk_sports_yahoo_com_.skp 186us -> 89.6us 0.48x
desk_googlespreadsheet.skp 206us -> 97.5us 0.47x
top25desk_google_com_search_q_c.skp 192us -> 89.8us 0.47x
keymobi_wikipedia__1_tab_.skp 170us -> 79.3us 0.47x
keymobi_wikipedia__1_tab____del.skp 170us -> 78.2us 0.46x
desk_unicodetable.skp 6.25ms -> 2.87ms 0.46x
desk_carsvg.skp 138us -> 63.3us 0.46x
top25desk_answers_yahoo_com.skp 133us -> 60.7us 0.46x
top25desk_espn.skp 108us -> 49.2us 0.45x
top25desk_plus_google_com_11003.skp 361us -> 162us 0.45x
desk_espn.skp 99.4us -> 44.5us 0.45x
tabl_worldjournal.skp 103us -> 45.6us 0.44x
desk_ugamsolutions.skp 56.2us -> 24.8us 0.44x
top25desk_facebook.skp 82.7us -> 35.7us 0.43x
keymobi_cuteoverload_com.skp 213us -> 91.9us 0.43x
top25desk_linkedin.skp 61.3us -> 26.3us 0.43x
top25desk_news_yahoo_com.skp 153us -> 65.6us 0.43x
desk_gmailthread.skp 64.9us -> 27.8us 0.43x
keymobi_androidpolice_com_2012_.skp 167us -> 71.3us 0.43x
top25desk_amazon_com.skp 77.5us -> 33.1us 0.43x
desk_wowwiki.skp 129us -> 54.1us 0.42x
top25desk_weather_com.skp 113us -> 47.1us 0.42x
keymobi_facebook_com_barackobam.skp 95.2us -> 39.6us 0.42x
keymobi_shop_mobileweb_ebay_com.skp 31.5us -> 13.1us 0.42x
keymobi_amazon_com_gp_aw_s_ref_.skp 46.1us -> 18.9us 0.41x
keymobi_mobile_news_sandbox_goo.skp 90.7us -> 37us 0.41x
top25desk_google_com__hl_en_q_b.skp 52.4us -> 21.4us 0.41x
keymobi_answers_yahoo_com_quest.skp 96.5us -> 39.3us 0.41x
tabl_pravda.skp 126us -> 51.2us 0.41x
keymobi_nytimes_com_.skp 46.9us -> 19us 0.4x
keymobi_ftw_usatoday_com_2014_0.skp 119us -> 48.2us 0.4x
top25desk_youtube_com.skp 162us -> 65.3us 0.4x
keymobi_news_yahoo_com.skp 58.1us -> 23.2us 0.4x
keymobi_boingboing_net.skp 58.8us -> 23.4us 0.4x
keymobi_techcrunch_com.skp 26.3us -> 10.4us 0.39x
keymobi_plus_google_com_app_bas.skp 26.9us -> 10.4us 0.38x
keymobi_google_co_uk_search_hl_.skp 35.1us -> 13.4us 0.38x
keymobi_pinterest.skp 26.2us -> 10us 0.38x
keymobi_deviantart_com_.skp 67.1us -> 25.4us 0.38x
tabl_gmail.skp 10.3us -> 3.86us 0.38x
top25desk_ebay_com.skp 65.6us -> 24.5us 0.37x
keymobi_m_youtube_com_watch_v_9.skp 57.9us -> 21.6us 0.37x
top25desk_wordpress.skp 138us -> 51.3us 0.37x
keymobi_gsp_ro.skp 17us -> 6.34us 0.37x
top25desk_techcrunch_com.skp 93.6us -> 34.7us 0.37x
keymobi_cnn_com_2012_10_03_poli.skp 232us -> 85.5us 0.37x
keymobi_cnn_com.skp 30.5us -> 11.1us 0.37x
keymobi_baidu_com_s_wd_barack_o.skp 39.3us -> 14.3us 0.36x
keymobi_online_wsj_com_home_pag.skp 50.3us -> 18.3us 0.36x
keymobi_digg_com.skp 54.8us -> 19.5us 0.36x
keymobi_wowwiki_com_world_of_wa.skp 39.4us -> 14us 0.36x
keymobi_theverge_com_2012_10_28.skp 102us -> 36.4us 0.36x
tabl_digg.skp 105us -> 37.4us 0.36x
top25desk_google_com_calendar_.skp 67.2us -> 23.7us 0.35x
keymobi_wordpress.skp 65.3us -> 23us 0.35x
desk_css3gradients.skp 56.4us -> 19.8us 0.35x
top25desk_mail_google_com_mail_.skp 119us -> 41.6us 0.35x
desk_googlehome.skp 8.2us -> 2.85us 0.35x
top25desk_docs___1_open_documen.skp 23.8us -> 8.22us 0.35x
keymobi_mlb_com_.skp 18.6us -> 6.3us 0.34x
keymobi_slashdot_org_.skp 33us -> 11us 0.33x
desk_tiger8svg.skp 96.2us -> 32us 0.33x
top25desk_twitter.skp 124us -> 40.7us 0.33x
keymobi_bing_com_search_q_sloth.skp 17.3us -> 5.55us 0.32x
keymobi_linkedin.skp 6.78us -> 1.99us 0.29x
top25desk_booking_com.skp 291us -> 83.2us 0.29x
keymobi_blogger.skp 19.3us -> 5.47us 0.28x
keymobi_sfgate_com_.skp 83.3us -> 23us 0.28x
desk_jsfiddlebigcar.skp 10.8us -> 2.95us 0.27x
keymobi_theverge_com.skp 22us -> 5.27us 0.24x
desk_mapsvg.skp 1.15us -> 216ns 0.19x
keymobi_iphone_capitolvolkswage.skp 121us -> 22.3us 0.18x
desk_wikipedia.skp 1.36us -> 244ns 0.18x
desk_pokemonwiki.skp 1.35us -> 243ns 0.18x
desk_samoasvg.skp 1.39us -> 241ns 0.17x
desk_tigersvg.skp 1.41us -> 241ns 0.17x
keymobi_booking_com_searchresul.skp 129us -> 19.7us 0.15x
Some spot testing makes it look like everything that's not a giant speedup can be made so by tweaking my (arbitrarily set) maximum size for the free list.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2220273002
Review-Url: https://codereview.chromium.org/2220273002
2016-08-08 06:56:22 -07:00
robertphillips
dda54455a2
Remove GrLayerHoister
...
This relies on https://codereview.chromium.org/1944013002/ (Add legacy flag to allow Skia to remove Ganesh layer hoister) landing first so as to not break the DEPS roll.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950523002
Review-Url: https://codereview.chromium.org/1950523002
2016-07-13 13:27:16 -07:00
reed
ca2622ba05
return pictures as sk_sp
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1811703002
Review URL: https://codereview.chromium.org/1811703002
2016-03-18 07:25:55 -07:00
mtklein
a1ebeb25e9
Remove const from const int loops
.
...
This drives me nuts, and prevents `while (loops --> 0)`.
BUG=skia:
Review URL: https://codereview.chromium.org/1379923005
2015-10-01 09:43:39 -07:00
halcanary
96fcdcc219
Style Change: NULL->nullptr
...
DOCS_PREVIEW= https://skia.org/?cl=1316233002
Review URL: https://codereview.chromium.org/1316233002
2015-08-27 07:41:16 -07:00
mtklein
d711d115d2
Thread through a flag to force SkPicture::playback() when recording subpictures.
...
This makes nanobench picture recording benchmarks somewhat useful again,
as opposed to all taking about 5us to run no matter the content.
ATTN Sheriff: this will probably trigger perf.skia.org alerts.
BUG=skia:
Review URL: https://codereview.chromium.org/1219873002
2015-07-01 07:04:37 -07:00
reed
90d0ff013b
add some debugging to SkNVRefCnt
...
BUG=skia:
Review URL: https://codereview.chromium.org/745383003
2014-11-24 12:02:31 -08:00
robertphillips
8037653195
Add computation of saveLayer information to RecordingBench
...
In (Add flag to beginRecording to request saveLayer information - https://codereview.chromium.org/721883002/ ) I claimed the extra recording cost would be negligible. This CL attempts to put some numbers behind that.
Review URL: https://codereview.chromium.org/741523002
2014-11-18 11:53:02 -08:00
mtklein
6838d854a8
Try out SkTree in nanobench.
...
Looks like a fairly large recording speed win with no playback cost.
BUG=skia:
Review URL: https://codereview.chromium.org/653023003
2014-10-29 14:15:10 -07:00
mtklein
fd731ce804
Measure picture recording speed in nanobench.
...
Today we measure SkPicture playback speed, but not the time it takes to record
the SkPicture. This fixes that by reading SKPs from disk and re-recording them.
On the console, recording shows up first as the nonrendering skp benches,
followed later by the usual playback benches:
maxrss loops min median mean max stddev samples config bench
51M 2 165µs 168µs 169µs 178µs 3% ▆▄▃█▂▄▁▂▁▁ nonrendering tabl_slashdot.skp
57M 1 9.72ms 9.77ms 9.79ms 9.97ms 1% █▂▂▅▃▂▁▄▂▁ nonrendering desk_pokemonwiki.skp
57M 32 2.92µs 2.96µs 3.03µs 3.46µs 6% ▅▁▁▁▁▁▁█▂▁ nonrendering desk_yahoosports.skp
...
147M 1 3.86ms 3.87ms 3.97ms 4.81ms 7% █▁▁▁▁▁▁▁▁▁ 8888 tabl_slashdot.skp_1
147M 1 4.54ms 4.56ms 4.55ms 4.56ms 0% █▅▇▅█▅▂▁▅▁ 565 tabl_slashdot.skp_1
147M 2 3.08ms 3.24ms 4.17ms 8.18ms 50% █▁▁█▁▁▁▁▁▁ gpu tabl_slashdot.skp_1
147M 1 1.61ms 1.62ms 1.69ms 2.33ms 13% █▁▁▁▁▁▁▁▁▁ 8888 desk_pokemonwiki.skp_1
147M 1 1.44ms 1.44ms 1.45ms 1.47ms 1% ▅▂█▂▂▅▁▁▂▁ 565 desk_pokemonwiki.skp_1
...
On skiaperf.com, they'll also be separated out from playback benches by bench_type.
BUG=skia:
R=reed@google.com , mtklein@google.com , jcgregorio@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/559153002
2014-09-10 12:19:30 -07:00