From 9640477e3cc075b0f303e817a3ebcc72d7bc878b Mon Sep 17 00:00:00 2001 From: Daniel Chapin Date: Fri, 5 Feb 2016 05:18:36 +0000 Subject: [PATCH] Revert "TaskManager bench" This reverts commit 02db03ca0584371504fd29ced77c00d601cb0971. Change-Id: I86bdf5e6774e99f9add59a657bfc50d45ebfda1d --- libs/hwui/Android.mk | 3 +- .../tests/microbench/TaskManagerBench.cpp | 93 ------------------- libs/hwui/thread/TaskManager.cpp | 2 +- libs/hwui/thread/TaskManager.h | 2 +- 4 files changed, 3 insertions(+), 97 deletions(-) delete mode 100644 libs/hwui/tests/microbench/TaskManagerBench.cpp diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk index 54aafeaa93601..1fb9ac515f03c 100644 --- a/libs/hwui/Android.mk +++ b/libs/hwui/Android.mk @@ -314,8 +314,7 @@ LOCAL_SRC_FILES += \ tests/microbench/DisplayListCanvasBench.cpp \ tests/microbench/LinearAllocatorBench.cpp \ tests/microbench/PathParserBench.cpp \ - tests/microbench/ShadowBench.cpp \ - tests/microbench/TaskManagerBench.cpp + tests/microbench/ShadowBench.cpp ifeq (true, $(HWUI_NEW_OPS)) LOCAL_SRC_FILES += \ diff --git a/libs/hwui/tests/microbench/TaskManagerBench.cpp b/libs/hwui/tests/microbench/TaskManagerBench.cpp deleted file mode 100644 index 0ea30e4757fb8..0000000000000 --- a/libs/hwui/tests/microbench/TaskManagerBench.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -#include "thread/Task.h" -#include "thread/TaskManager.h" -#include "thread/TaskProcessor.h" -#include "tests/microbench/MicroBench.h" - -#include - -using namespace android; -using namespace android::uirenderer; - -class TrivialTask : public Task {}; - -class TrivialProcessor : public TaskProcessor { -public: - TrivialProcessor(TaskManager* manager) - : TaskProcessor(manager) {} - virtual ~TrivialProcessor() {} - virtual void onProcess(const sp >& task) override { - TrivialTask* t = static_cast(task.get()); - t->setResult(reinterpret_cast(t) % 16 == 0 ? 'a' : 'b'); - } -}; - -BENCHMARK_NO_ARG(BM_TaskManager_allocateTask); -void BM_TaskManager_allocateTask::Run(int iters) { - std::vector > tasks; - tasks.reserve(iters); - - StartBenchmarkTiming(); - for (int i = 0; i < iters; i++) { - tasks.emplace_back(new TrivialTask); - MicroBench::DoNotOptimize(tasks.back()); - } - StopBenchmarkTiming(); -} - -BENCHMARK_NO_ARG(BM_TaskManager_enqueueTask); -void BM_TaskManager_enqueueTask::Run(int iters) { - TaskManager taskManager; - sp processor(new TrivialProcessor(&taskManager)); - std::vector > tasks; - tasks.reserve(iters); - - StartBenchmarkTiming(); - for (int i = 0; i < iters; i++) { - tasks.emplace_back(new TrivialTask); - MicroBench::DoNotOptimize(tasks.back()); - processor->add(tasks.back()); - } - StopBenchmarkTiming(); - - for (sp& task : tasks) { - task->getResult(); - } -} - -BENCHMARK_NO_ARG(BM_TaskManager_enqueueRunDeleteTask); -void BM_TaskManager_enqueueRunDeleteTask::Run(int iters) { - TaskManager taskManager; - sp processor(new TrivialProcessor(&taskManager)); - std::vector > tasks; - tasks.reserve(iters); - - StartBenchmarkTiming(); - for (int i = 0; i < iters; i++) { - tasks.emplace_back(new TrivialTask); - MicroBench::DoNotOptimize(tasks.back()); - processor->add(tasks.back()); - } - for (sp& task : tasks) { - MicroBench::DoNotOptimize(task->getResult()); - } - tasks.clear(); - StopBenchmarkTiming(); -} diff --git a/libs/hwui/thread/TaskManager.cpp b/libs/hwui/thread/TaskManager.cpp index d346b859526e1..a07845ecf659d 100644 --- a/libs/hwui/thread/TaskManager.cpp +++ b/libs/hwui/thread/TaskManager.cpp @@ -103,7 +103,7 @@ bool TaskManager::WorkerThread::threadLoop() { return true; } -bool TaskManager::WorkerThread::addTask(const TaskWrapper& task) { +bool TaskManager::WorkerThread::addTask(TaskWrapper task) { if (!isRunning()) { run(mName.string(), PRIORITY_DEFAULT); } else if (exitPending()) { diff --git a/libs/hwui/thread/TaskManager.h b/libs/hwui/thread/TaskManager.h index e4808f7b71819..d0eb3049ae375 100644 --- a/libs/hwui/thread/TaskManager.h +++ b/libs/hwui/thread/TaskManager.h @@ -80,7 +80,7 @@ private: public: WorkerThread(const String8 name): mSignal(Condition::WAKE_UP_ONE), mName(name) { } - bool addTask(const TaskWrapper& task); + bool addTask(TaskWrapper task); size_t getTaskCount() const; void exit();