summaryrefslogtreecommitdiffstats
path: root/components/components_tests.gyp
diff options
context:
space:
mode:
authoralexclarke <alexclarke@chromium.org>2015-07-23 04:50:35 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-23 11:51:06 +0000
commit1794435f9e62136c4c8bcf53094a76a04b4cd0ed (patch)
tree1b6a9d330173dc22b02350a5a66228c5b7703fe1 /components/components_tests.gyp
parentbfa69c11721bc28bf7a4812fbeb3062364a009b6 (diff)
downloadchromium_src-1794435f9e62136c4c8bcf53094a76a04b4cd0ed.zip
chromium_src-1794435f9e62136c4c8bcf53094a76a04b4cd0ed.tar.gz
chromium_src-1794435f9e62136c4c8bcf53094a76a04b4cd0ed.tar.bz2
Introduce TaskQueueSets and use them in the TQM and Selector
Previously we where doing a linear scan of all task queues registered with a particular priority. This is fine when the number of task queues is low. However we are anticiapting having dozens or even hundreds of task queues, so a faster selection algorithm is needed. This patch uses a std::map to accellerate the finding of the oldest task in a particular set (priority). Insert and removal is O(lg n) and begin(), which points to the lowest key, is O(1). In addtion the TaskQueueManager now supports dynamic creation of task queues. For performance we now address queues by pointer rather than by index inside the scheduler. BUG=510398 Review URL: https://codereview.chromium.org/1231743003 Cr-Commit-Position: refs/heads/master@{#340073}
Diffstat (limited to 'components/components_tests.gyp')
-rw-r--r--components/components_tests.gyp3
1 files changed, 2 insertions, 1 deletions
diff --git a/components/components_tests.gyp b/components/components_tests.gyp
index 5bca9ae..e439669 100644
--- a/components/components_tests.gyp
+++ b/components/components_tests.gyp
@@ -506,12 +506,13 @@
'scheduler/child/idle_helper_unittest.cc',
'scheduler/child/nestable_task_runner_for_test.cc',
'scheduler/child/nestable_task_runner_for_test.h',
- 'scheduler/child/prioritizing_task_queue_selector_unittest.cc',
'scheduler/child/scheduler_helper_unittest.cc',
'scheduler/child/scheduler_task_runner_delegate_for_test.cc',
'scheduler/child/scheduler_task_runner_delegate_for_test.h',
'scheduler/child/scheduler_task_runner_delegate_impl_unittest.cc',
'scheduler/child/task_queue_manager_unittest.cc',
+ 'scheduler/child/task_queue_selector_unittest.cc',
+ 'scheduler/child/task_queue_sets_unittest.cc',
'scheduler/child/test_time_source.cc',
'scheduler/child/test_time_source.h',
'scheduler/child/webthread_impl_for_worker_scheduler_unittest.cc',