mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 14:16:16 -04:00
Added extended debug outputs of times in RsDataService.
This commit is contained in:
parent
7472f81940
commit
2a6b623300
4 changed files with 187 additions and 30 deletions
59
libretroshare/src/util/rsscopetimer.cc
Normal file
59
libretroshare/src/util/rsscopetimer.cc
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* libretroshare/src/util: rsscopetimer.cc
|
||||
*
|
||||
* 3P/PQI network interface for RetroShare.
|
||||
*
|
||||
* Copyright 2013- by Cyril Soler
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA.
|
||||
*
|
||||
* Please report all bugs and problems to "retroshare@lunamutt.com".
|
||||
*
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <sys/time.h>
|
||||
#include "rsscopetimer.h"
|
||||
|
||||
RsScopeTimer::RsScopeTimer(const std::string& name)
|
||||
{
|
||||
_name = name ;
|
||||
start();
|
||||
}
|
||||
|
||||
RsScopeTimer::~RsScopeTimer()
|
||||
{
|
||||
if (!_name.empty())
|
||||
{
|
||||
std::cerr << "Time for \"" << _name << "\": " << duration() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
double RsScopeTimer::currentTime()
|
||||
{
|
||||
timeval tv ;
|
||||
gettimeofday(&tv,NULL) ;
|
||||
return (tv.tv_sec % 10000) + tv.tv_usec/1000000.0f ; // the %1000 is here to allow double precision to cover the decimals.
|
||||
}
|
||||
|
||||
void RsScopeTimer::start()
|
||||
{
|
||||
_seconds = currentTime();
|
||||
}
|
||||
|
||||
double RsScopeTimer::duration()
|
||||
{
|
||||
return currentTime() - _seconds;
|
||||
}
|
|
@ -31,29 +31,22 @@
|
|||
// callToMeasure() ;
|
||||
// }
|
||||
//
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
class RsScopeTimer
|
||||
{
|
||||
public:
|
||||
RsScopeTimer(const std::string& name)
|
||||
{
|
||||
timeval tv ;
|
||||
gettimeofday(&tv,NULL) ;
|
||||
_seconds = (tv.tv_sec % 10000) + tv.tv_usec/1000000.0f ; // the %1000 is here to allow double precision to cover the decimals.
|
||||
_name = name ;
|
||||
}
|
||||
public:
|
||||
RsScopeTimer(const std::string& name);
|
||||
~RsScopeTimer();
|
||||
|
||||
~RsScopeTimer()
|
||||
{
|
||||
timeval tv ;
|
||||
gettimeofday(&tv,NULL) ;
|
||||
double ss = (tv.tv_sec % 10000) + tv.tv_usec/1000000.0f ;
|
||||
void start();
|
||||
double duration();
|
||||
|
||||
std::cerr << "Time for \"" << _name << "\": " << ss - _seconds << std::endl;
|
||||
}
|
||||
private:
|
||||
double currentTime();
|
||||
|
||||
private:
|
||||
std::string _name ;
|
||||
double _seconds ;
|
||||
private:
|
||||
std::string _name ;
|
||||
double _seconds ;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue