File indexing completed on 2024-05-19 09:43:04
0001 /***************************************************************************** 0002 * Copyright 2013 - 2015 Yichao Yu <yyc1992@gmail.com> * 0003 * * 0004 * This program is free software; you can redistribute it and/or modify * 0005 * it under the terms of the GNU Lesser General Public License as * 0006 * published by the Free Software Foundation; either version 2.1 of the * 0007 * License, or (at your option) version 3, or any later version accepted * 0008 * by the membership of KDE e.V. (or its successor approved by the * 0009 * membership of KDE e.V.), which shall act as a proxy defined in * 0010 * Section 6 of version 3 of the license. * 0011 * * 0012 * This program is distributed in the hope that it will be useful, * 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 0015 * Lesser General Public License for more details. * 0016 * * 0017 * You should have received a copy of the GNU Lesser General Public * 0018 * License along with this library. If not, * 0019 * see <http://www.gnu.org/licenses/>. * 0020 *****************************************************************************/ 0021 0022 #ifndef _QTC_UTILS_TIMER_H_ 0023 #define _QTC_UTILS_TIMER_H_ 0024 0025 #include "log.h" 0026 #include <cinttypes> 0027 0028 namespace QtCurve { 0029 0030 uint64_t getTime(); 0031 uint64_t getElapse(uint64_t prev); 0032 void tic(); 0033 uint64_t toc(); 0034 static inline void 0035 printTime(uint64_t time) 0036 { 0037 qtcForceLog("Time: %" PRIu64 "\n", time); 0038 } 0039 static inline void 0040 printElapse(uint64_t prev) 0041 { 0042 printTime(getElapse(prev)); 0043 } 0044 static inline void 0045 printToc() 0046 { 0047 printTime(toc()); 0048 } 0049 0050 } 0051 0052 #endif