diff options
author | Ryan OShea <ryan.oshea3@arm.com> | 2022-03-08 01:45:36 +0000 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2022-03-08 10:06:07 +0000 |
commit | c7756cfbd8995962aae3c3a737f1fe918d400940 (patch) | |
tree | 6028cd84e0d54f20c1c592c1206d31a3231f3920 /1.3 | |
parent | f45e3abe36617fc43b0a45b630811305726b550f (diff) | |
download | android-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.cpp | 14 |
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; } |