From aa649347dcfe561f751d3e66d3a37dfd0d7fede1 Mon Sep 17 00:00:00 2001 From: Hosang Kim Date: Wed, 22 Feb 2023 15:28:26 +0900 Subject: [PATCH] aurum: change parameter type for improving performance Change-Id: Ic9a55f1fcbffee7d2979397915e43312d2530f26 --- libaurum/inc/Comparer.h | 20 ++++++++++---------- libaurum/src/Comparer.cc | 20 +++++++++----------- org.tizen.aurum-bootstrap/inc/ObjectMapper.h | 4 ++-- org.tizen.aurum-bootstrap/src/ObjectMapper.cc | 6 +++--- 4 files changed, 24 insertions(+), 26 deletions(-) diff --git a/libaurum/inc/Comparer.h b/libaurum/inc/Comparer.h index 5a8abe2..9f29125 100644 --- a/libaurum/inc/Comparer.h +++ b/libaurum/inc/Comparer.h @@ -50,7 +50,7 @@ private: * * @since_tizen 6.5 */ - Comparer(const std::shared_ptr device, const std::shared_ptr selector, + Comparer(const std::shared_ptr& device, const std::shared_ptr& selector, const bool &earlyReturn); /** @@ -73,9 +73,9 @@ public: * * @since_tizen 6.5 */ - static std::shared_ptr findObject(const std::shared_ptr device, - const std::shared_ptr selector, - const std::shared_ptr root); + static std::shared_ptr findObject(const std::shared_ptr& device, + const std::shared_ptr& selector, + const std::shared_ptr& root); /** * @brief find object from device. @@ -92,8 +92,8 @@ public: * @since_tizen 6.5 */ static std::vector> findObjects( - const std::shared_ptr device, const std::shared_ptr selector, - const std::shared_ptr root, bool earlyReturn = false); + const std::shared_ptr& device, const std::shared_ptr& selector, + const std::shared_ptr& root, bool earlyReturn = false); private: /** @@ -105,7 +105,7 @@ private: * * @since_tizen 6.5 */ - std::vector> findObjects(const std::shared_ptr root); + std::vector> findObjects(const std::shared_ptr& root); /** * @internal @@ -120,12 +120,12 @@ private: * @since_tizen 6.5 */ std::vector> findObjects( - const std::shared_ptr root, const int &index, const int &depth, + const std::shared_ptr& root, const int &index, const int &depth, std::list> &partialMatches); private: - const std::shared_ptr mDevice; - const std::shared_ptr mSelector; + const std::shared_ptr& mDevice; + const std::shared_ptr& mSelector; bool mEarlyReturn; }; diff --git a/libaurum/src/Comparer.cc b/libaurum/src/Comparer.cc index 517f05f..fa09542 100644 --- a/libaurum/src/Comparer.cc +++ b/libaurum/src/Comparer.cc @@ -19,7 +19,7 @@ using namespace Aurum; -Comparer::Comparer(const std::shared_ptr device, const std::shared_ptr selector, +Comparer::Comparer(const std::shared_ptr& device, const std::shared_ptr& selector, const bool &earlyReturn) : mDevice(device), mSelector(selector), mEarlyReturn(earlyReturn) { @@ -27,9 +27,9 @@ Comparer::Comparer(const std::shared_ptr device, const std::shared_ptr Comparer::~Comparer() {} -std::shared_ptr Comparer::findObject(const std::shared_ptr device, - const std::shared_ptr selector, - const std::shared_ptr root) +std::shared_ptr Comparer::findObject(const std::shared_ptr& device, + const std::shared_ptr& selector, + const std::shared_ptr& root) { std::vector> ret = findObjects(device, selector, root, true); if (ret.size() > 0) @@ -38,14 +38,13 @@ std::shared_ptr Comparer::findObject(const std::shared_ptr> Comparer::findObjects(const std::shared_ptr device, - const std::shared_ptr selector, - const std::shared_ptr root, bool earlyReturn) +std::vector> Comparer::findObjects(const std::shared_ptr& device, + const std::shared_ptr& selector, + const std::shared_ptr& root, bool earlyReturn) { Comparer comparer(device, selector, earlyReturn); LOGI("findObjects selector(%s) from (type:%s style:%s, role:%s, text:%s) earlyReturn:%d", selector->description().c_str(), root->getType().c_str(), root->getStyle().c_str(), root->getRole().c_str(), root->getText().c_str(), earlyReturn); - if (selector->mParent) { auto ret = Comparer::findObjects(device, selector->mParent, root); std::vector> merged{}; @@ -76,7 +75,7 @@ std::vector> Comparer::findObjects(const std::sh return comparer.findObjects(root); } -std::vector> Comparer::findObjects(const std::shared_ptr root) +std::vector> Comparer::findObjects(const std::shared_ptr& root) { std::list> partialList{}; std::vector> ret = findObjects(root, 0, 1, partialList); @@ -85,7 +84,7 @@ std::vector> Comparer::findObjects(const std::sh } std::vector> Comparer::findObjects( - const std::shared_ptr root, const int &index, const int &depth, + const std::shared_ptr& root, const int &index, const int &depth, std::list> &partialMatches) { std::vector> ret; @@ -108,7 +107,6 @@ std::vector> Comparer::findObjects( std::vector> childret = findObjects(childNode, i, depth + 1, partialMatches); std::move(std::begin(childret), std::end(childret), std::back_inserter(ret)); - if (!ret.empty() && mEarlyReturn) { LOGI("Object found and earlyReturn"); return ret; diff --git a/org.tizen.aurum-bootstrap/inc/ObjectMapper.h b/org.tizen.aurum-bootstrap/inc/ObjectMapper.h index 6bf7af7..d71ce6d 100644 --- a/org.tizen.aurum-bootstrap/inc/ObjectMapper.h +++ b/org.tizen.aurum-bootstrap/inc/ObjectMapper.h @@ -39,8 +39,8 @@ public: public: static ObjectMapper *getInstance(); std::string addElement(std::shared_ptr object); - std::shared_ptr getElement(const std::string elementId); - bool removeElement(const std::string elementId); + std::shared_ptr getElement(const std::string& elementId); + bool removeElement(const std::string& elementId); void cleanUp(); }; diff --git a/org.tizen.aurum-bootstrap/src/ObjectMapper.cc b/org.tizen.aurum-bootstrap/src/ObjectMapper.cc index f3c7a15..87e1f01 100644 --- a/org.tizen.aurum-bootstrap/src/ObjectMapper.cc +++ b/org.tizen.aurum-bootstrap/src/ObjectMapper.cc @@ -33,13 +33,13 @@ ObjectMapper *ObjectMapper::getInstance() std::string ObjectMapper::addElement(std::shared_ptr object) { - std::string value = object->getId(); + const std::string value = object->getId(); mObjectMap[value] = object; LOGI("addElement %p, id %s", object.get(), value.c_str()); return value; } -std::shared_ptr ObjectMapper::getElement(std::string elementId) +std::shared_ptr ObjectMapper::getElement(const std::string& elementId) { LOGI("getElement for elementId(%s)", elementId.c_str()); @@ -56,7 +56,7 @@ std::shared_ptr ObjectMapper::getElement(std::string elementId) } } -bool ObjectMapper::removeElement(const std::string elementId) +bool ObjectMapper::removeElement(const std::string& elementId) { LOGI("removeElement for Id(%s)", elementId.c_str()); std::shared_ptr obj = getElement(elementId); -- 2.7.4