aboutsummaryrefslogtreecommitdiff
path: root/1.3
diff options
context:
space:
mode:
authorRyan OShea <ryan.oshea3@arm.com>2022-03-08 01:45:36 +0000
committerTeresaARM <teresa.charlinreyes@arm.com>2022-03-08 10:06:07 +0000
commitc7756cfbd8995962aae3c3a737f1fe918d400940 (patch)
tree6028cd84e0d54f20c1c592c1206d31a3231f3920 /1.3
parentf45e3abe36617fc43b0a45b630811305726b550f (diff)
downloadandroid-nn-driver-c7756cfbd8995962aae3c3a737f1fe918d400940.tar.gz
IVGCVSW-6649 Add Timepoints to Android NN Driver
* Added timepoints to ArmnnDriverImpl across all versions * Added ALOGV message to display time taken for prepareModel function * Added ALOGV message to display time taken for prepareModelFromCache function Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I07f341099e81a0da45db0e8f575ba3c26631e024
Diffstat (limited to '1.3')
-rw-r--r--1.3/ArmnnDriverImpl.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/1.3/ArmnnDriverImpl.cpp b/1.3/ArmnnDriverImpl.cpp
index 474e1c1f..c164dc08 100644
--- a/1.3/ArmnnDriverImpl.cpp
+++ b/1.3/ArmnnDriverImpl.cpp
@@ -13,6 +13,7 @@
#include <log/log.h>
#include <sys/stat.h>
+#include <chrono>
namespace
{
@@ -113,6 +114,8 @@ Return<V1_3::ErrorStatus> ArmnnDriverImpl::prepareArmnnModel_1_3(
{
ALOGV("ArmnnDriverImpl::prepareArmnnModel_1_3()");
+ std::chrono::time_point<std::chrono::system_clock> prepareModelTimepoint = std::chrono::system_clock::now();
+
if (cb.get() == nullptr)
{
ALOGW("ArmnnDriverImpl::prepareModel: Invalid callback passed to prepareModel");
@@ -387,6 +390,11 @@ Return<V1_3::ErrorStatus> ArmnnDriverImpl::prepareArmnnModel_1_3(
}
NotifyCallbackAndCheck(cb, V1_3::ErrorStatus::NONE, preparedModel.release());
+
+ ALOGV("ArmnnDriverImpl::prepareModel cache timing = %lld µs", std::chrono::duration_cast<std::chrono::microseconds>
+ (std::chrono::system_clock::now() - prepareModelTimepoint).count());
+
+
return V1_3::ErrorStatus::NONE;
}
@@ -399,6 +407,7 @@ Return<V1_3::ErrorStatus> ArmnnDriverImpl::prepareModelFromCache_1_3(
const android::sp<V1_3::IPreparedModelCallback>& cb)
{
ALOGV("ArmnnDriverImpl::prepareModelFromCache_1_3()");
+ std::chrono::time_point<std::chrono::system_clock> modelFromCacheTimepoint = std::chrono::system_clock::now();
if (token.size() != ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN)
{
@@ -652,6 +661,11 @@ Return<V1_3::ErrorStatus> ArmnnDriverImpl::prepareModelFromCache_1_3(
true));
NotifyCallbackAndCheck(cb, V1_3::ErrorStatus::NONE, preparedModel.release());
+
+ ALOGV("ArmnnDriverImpl::prepareModelFromCache timing = %lld µs",
+ std::chrono::duration_cast<std::chrono::microseconds>
+ (std::chrono::system_clock::now() - modelFromCacheTimepoint).count());
+
return V1_3::ErrorStatus::NONE;
}