⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ndbtimer.hpp

📁 mysql-5.0.22.tar.gz源码包
💻 HPP
字号:
/* Copyright (C) 2003 MySQL AB   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifndef NDBTIMER_H#define NDBTIMER_H#include <NdbTick.h>#include <NdbOut.hpp>// // Class used for measuring time and priting the results// // Currently measures time in milliseconds// class NdbTimer{public:  NdbTimer();  ~NdbTimer() {};  void doStart();  void doStop();  void doReset();  NDB_TICKS elapsedTime();  void printTransactionStatistics(const char* text, 				  int numTransactions, 				  int numOperations);  void printTestTimer(int numLoops, 		      int numRecords);  void printTotalTime(void);private:  NDB_TICKS startTime;  NDB_TICKS stopTime;};inline NdbTimer::NdbTimer(){  doReset();}inline void NdbTimer::doReset(void){  startTime = 0;  stopTime = 0;}inline void NdbTimer::doStart(void){  startTime = NdbTick_CurrentMillisecond();}inline void NdbTimer::doStop(void){  stopTime = NdbTick_CurrentMillisecond();}inline NDB_TICKS NdbTimer::elapsedTime(void){  return (stopTime - startTime); }inline void NdbTimer::printTransactionStatistics(const char* text, 						 int numTransactions, 						 int numOperations){  // Convert to Uint32 in order to be able to print it to screen  Uint32 lapTime = (Uint32)elapsedTime();  ndbout_c("%i transactions, %i %s total time = %d ms\nAverage %f ms/transaction, %f ms/%s.\n%f transactions/second, %f %ss/second.\n",	 numTransactions, numTransactions*numOperations, text, lapTime,         ((double)lapTime/numTransactions), ((double)lapTime/(numTransactions*numOperations)), text,          1000.0/((double)lapTime/numOperations), 1000.0/((double)lapTime/(numTransactions*numOperations)), text);}inline void NdbTimer::printTestTimer(int numLoops, 				     int numRecords){  // Convert to Uint32 in order to be able to print it to screen  Uint32 lapTime = (Uint32)elapsedTime();  ndbout_c("%i loop * %i records, total time = %d ms\nAverage %f ms/loop, %f ms/record.\n%f looop/second, %f records/second.\n",	   numLoops, numRecords, lapTime,	   ((double)lapTime/numLoops), ((double)lapTime/(numLoops*numRecords)),	   1000.0/((double)lapTime/numLoops), 1000.0/((double)lapTime/(numLoops*numRecords)));}inline void NdbTimer::printTotalTime(void){  // Convert to Uint32 in order to be able to print it to screen  Uint32 lapTime = (Uint32)elapsedTime();  Uint32 secTime = lapTime/1000;  ndbout_c("Total time : %d seconds (%d ms)\n", secTime, lapTime);}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -