diff options
author | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-05 15:10:09 +0900 |
---|---|---|
committer | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-05 15:22:53 +0900 |
commit | d91a039e0eda6fd70dcd22672b8ce1817c1ca50e (patch) | |
tree | 62668ec548cf31fadbbf4e99522999ad13434a25 /runtimes/contrib/xtrace/src/benchmark_event.h | |
parent | bd11b24234d7d43dfe05a81c520aa01ffad06e42 (diff) | |
download | nnfw-d91a039e0eda6fd70dcd22672b8ce1817c1ca50e.tar.gz nnfw-d91a039e0eda6fd70dcd22672b8ce1817c1ca50e.tar.bz2 nnfw-d91a039e0eda6fd70dcd22672b8ce1817c1ca50e.zip |
catch up to tizen_5.5 and remove unness dir
- update to tizen_5.5
- remove dirs
Diffstat (limited to 'runtimes/contrib/xtrace/src/benchmark_event.h')
-rw-r--r-- | runtimes/contrib/xtrace/src/benchmark_event.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/runtimes/contrib/xtrace/src/benchmark_event.h b/runtimes/contrib/xtrace/src/benchmark_event.h new file mode 100644 index 000000000..d544cb0c7 --- /dev/null +++ b/runtimes/contrib/xtrace/src/benchmark_event.h @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved + * + * 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. + */ + +#ifndef __BENCHMARK_EVENT_H__ +#define __BENCHMARK_EVENT_H__ + +#include <xray/event.h> +#include <xray/event_code.h> +#include <xray/event_category.h> + +#include <chrono> +#include <memory> + +enum BMPhase +{ + Warmup, + Stable +}; + +struct BMEvent +{ + virtual ~BMEvent() = default; +}; + +struct BMBegin : public BMEvent +{ + BMPhase phase; + uint32_t cur_iter; +}; + +struct BMEnd : public BMEvent +{ + BMPhase phase; + uint32_t cur_iter; + std::chrono::milliseconds elapsed; +}; + +class BMCategory final : public xray::event_category +{ +private: + BMCategory() = default; + +public: + xray::event_code set(std::unique_ptr<BMEvent> &&event); + void reset(void); + +public: + const BMEvent *event(void) const { return _event.get(); } + +private: + std::unique_ptr<BMEvent> _event; + +public: + static BMCategory *get(void) + { + static BMCategory cat; + return &cat; + } + +public: + void post(std::unique_ptr<BMEvent> &&event); +}; + +#endif // __BENCHMARK_EVENT_H__ |