diff --git a/paddle/fluid/platform/CMakeLists.txt b/paddle/fluid/platform/CMakeLists.txt index 5197d5d01d8b9800391cfe375c5bff37990f7ae2..fbf62404a48fd17d056c8b320859290dea34f51f 100644 --- a/paddle/fluid/platform/CMakeLists.txt +++ b/paddle/fluid/platform/CMakeLists.txt @@ -85,6 +85,7 @@ nv_test(cudnn_helper_test SRCS cudnn_helper_test.cc DEPS dynload_cuda) nv_test(transform_test SRCS transform_test.cu DEPS memory place device_context) cc_library(timer SRCS timer.cc) +cc_test(timer_test SRCS timer_test.cc) cc_library(device_tracer SRCS device_tracer.cc DEPS boost profiler_proto framework_proto ${GPU_CTX_DEPS}) cc_library(profiler SRCS profiler.cc DEPS device_context device_tracer) diff --git a/paddle/fluid/platform/timer_test.cc b/paddle/fluid/platform/timer_test.cc new file mode 100644 index 0000000000000000000000000000000000000000..5d14499fe5a1f4a4bb072306ce92a34460eabe90 --- /dev/null +++ b/paddle/fluid/platform/timer_test.cc @@ -0,0 +1,34 @@ +// Copyright (c) 2018 PaddlePaddle Authors. 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. +#include "paddle/fluid/platform/timer.h" + +TEST(TimerUsage, Print) { + platform::Timer timeline; + timeline.Start(); + sleep(3); + timeline.Pause(); + std::cout << paddle::string::Sprintf("passed time %f", timeline.ElapsedSec()) + << std::endl; + timeline.Reset(); + std::cout << paddle::string::Sprintf("after reset %fs", timeline.ElapsedSec()) + << std::endl; + + std::cout << paddle::string::Sprintf("after reset %fus", timeline.ElapsedUS()) + << std::endl; + + std::cout << paddle::string::Sprintf("after reset %fms", timeline.ElapsedMS()) + << std::endl; + std::cout << paddle::string::Sprintf("count is %d", timeline.Count()) + << std::endl; +}