Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Issue 147883003: cc: Add useful TaskGraphRunner performance tests. (Closed)

Created:
6 years, 10 months ago by reveman
Modified:
6 years, 10 months ago
Reviewers:
vmpstr
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

cc: Add useful TaskGraphRunner performance tests. Current perf tests are not useful for profiling as output heavily depends on kernel scheduling. An improvement in CPU time is not guaranteed to result in a better result from these tests as they mostly measure context switching cost. This includes a small refactor to TaskGraphRunner that allow us to run tests on a single thread. The result is more predictable results and useful profiling output. The number of tasks used in tests have also been adjusted to more realistic values. BUG=338355 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247625

Patch Set 1 #

Total comments: 1

Patch Set 2 : #

Patch Set 3 : s/ForTest/ForTesting/ #

Total comments: 2

Patch Set 4 : while loop cleanup #

Unified diffs Side-by-side diffs Delta from patch set Stats (+328 lines, -206 lines) Patch
cc/resources/task_graph_runner.h View 1 2 2 chunks +8 lines, -0 lines 0 comments Download
cc/resources/task_graph_runner.cc View 1 2 2 chunks +104 lines, -87 lines 0 comments Download
cc/resources/task_graph_runner_perftest.cc View 1 2 3 6 chunks +216 lines, -119 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
reveman
Please take a look.
6 years, 10 months ago (2014-01-28 23:09:18 UTC) #1
vmpstr
Can you re-upload the patch, side-by-side diff gives me an old chunk mismatch https://codereview.chromium.org/147883003/diff/1/cc/resources/task_graph_runner.h File ...
6 years, 10 months ago (2014-01-28 23:16:53 UTC) #2
reveman
On 2014/01/28 23:16:53, vmpstr wrote: > Can you re-upload the patch, side-by-side diff gives me ...
6 years, 10 months ago (2014-01-28 23:21:04 UTC) #3
vmpstr
lgtm https://codereview.chromium.org/147883003/diff/40001/cc/resources/task_graph_runner_perftest.cc File cc/resources/task_graph_runner_perftest.cc (right): https://codereview.chromium.org/147883003/diff/40001/cc/resources/task_graph_runner_perftest.cc#newcode181 cc/resources/task_graph_runner_perftest.cc:181: } while (task_graph_runner_->RunTaskForTesting()); nit: can you change this ...
6 years, 10 months ago (2014-01-28 23:45:07 UTC) #4
reveman
https://codereview.chromium.org/147883003/diff/40001/cc/resources/task_graph_runner_perftest.cc File cc/resources/task_graph_runner_perftest.cc (right): https://codereview.chromium.org/147883003/diff/40001/cc/resources/task_graph_runner_perftest.cc#newcode181 cc/resources/task_graph_runner_perftest.cc:181: } while (task_graph_runner_->RunTaskForTesting()); On 2014/01/28 23:45:07, vmpstr wrote: > ...
6 years, 10 months ago (2014-01-29 00:17:07 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/147883003/60001
6 years, 10 months ago (2014-01-29 00:18:58 UTC) #6
commit-bot: I haz the power
Change committed as 247625
6 years, 10 months ago (2014-01-29 05:21:39 UTC) #7
tomhudson
Particularly with the change to realistic (I assume smaller) numbers of tasks, Do we have ...
6 years, 10 months ago (2014-01-29 10:59:01 UTC) #8
reveman
6 years, 10 months ago (2014-01-29 16:35:18 UTC) #9
Message was sent while issue was closed.
On 2014/01/29 10:59:01, tomhudson wrote:
> Particularly with the change to realistic (I assume smaller) numbers of tasks,
> Do we have a CPU profile showing that the majority of the time in the test is
> actually spent in the targeted code? One problem with some of the
> microbenchmarks I've been looking at is that that they're dominated by test
> setup/teardown or file IO costs.

Time spent in setup/teardown was improved by this patch but is still a problem.
ie. ScheduleTasks also exercise the task graph building code but it would
ideally just exercise the task scheduling code. I'm hoping to fix this in follow
up patches.

FYI, I considered changing the timing code to not include setup/teardown but
decided that that was a bad idea as profiling would no longer give data that is
representative of the test results.

Powered by Google App Engine
This is Rietveld 408576698