timer.cc

来自「Short description: A MAX-MIN Ant System 」· CC 代码 · 共 77 行

CC
77
字号
/***************************************************************************                          Timer.cc  -  description                             -------------------    begin                : Fri Nov 10 2000    copyright            : (C) 2000 by Christian Blum    email                : cblum@ulb.ac.be ***************************************************************************//***************************************************************************    Program's name: hc-mmas-ubqp    Ant Colony Optimization algorithm to tackle     Unary Binary Quadratic Programming    Copyright (C) 2003  Christian Blum    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    Author's contact details:     email: cblum@ulb.ac.be    mail address: Universite Libre de Bruxelles, IRIDIA,                  Av. Franklin Roosevelt 50, CP 194/6,                  B-1050 Brussels, Belgium ***************************************************************************/#include "Timer.h"/* *  The virtual time of day and the real time of day are calculated and *  stored for future use.  The future use consists of subtracting these *  values from similar values obtained at a later time to allow the user *  to get the amount of time used by the algorithm. */Timer::Timer(void) {  getrusage( RUSAGE_SELF, &res );  virtual_time = (double) res.ru_utime.tv_sec +    (double) res.ru_stime.tv_sec +    (double) res.ru_utime.tv_usec * 1.0E-6 +    (double) res.ru_stime.tv_usec * 1.0E-6;    gettimeofday( &tp, NULL );  real_time =    (double) tp.tv_sec + (double) tp.tv_usec * 1.0E-6;}/* *  Stop the stopwatch and return the time used in seconds (either *  REAL or VIRTUAL time, depending on ``type''). */double Timer::elapsed_time(const TYPE& type) {  if (type == REAL) {    gettimeofday( &tp, NULL );    return( (double) tp.tv_sec + (double) tp.tv_usec * 1.0E-6 - real_time );  }  else {    getrusage( RUSAGE_SELF, &res );    return( (double) res.ru_utime.tv_sec +	    (double) res.ru_stime.tv_sec +	    (double) res.ru_utime.tv_usec * 1.0E-6 +	    (double) res.ru_stime.tv_usec * 1.0E-6	    - virtual_time );  }}

⌨️ 快捷键说明

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