| Last change
 on this file since b9273a was             3f06bb, checked in by Frederik Heber <heber@…>, 13 years ago | 
        
          | 
Enhanced Chronos for more accurate timekeeping.
 Chronos is now safe to use w.r.t. recursive function calls.
Chronos now gets const ref of token name in each function.
TESTFIX: dummyTest() now checks on recursive function.
Chronos now offers its internal timekeeping via const ref to outside.
Chronos also now has up to nanoseconds precision when either time.h or
sys/time.h is present.
librt required from clock_gettime().
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            1.3 KB | 
      
      
| Rev | Line |  | 
|---|
| [602d66] | 1 | /* | 
|---|
|  | 2 | * Project: MoleCuilder | 
|---|
|  | 3 | * Description: creates and alters molecular systems | 
|---|
|  | 4 | * Copyright (C)  2010 University of Bonn. All rights reserved. | 
|---|
|  | 5 | * Please see the LICENSE file or "Copyright notice" in builder.cpp for details. | 
|---|
|  | 6 | */ | 
|---|
|  | 7 |  | 
|---|
|  | 8 | /* | 
|---|
|  | 9 | * ChronosStub.cpp | 
|---|
|  | 10 | * | 
|---|
|  | 11 | *  Created on: Apr 06, 2011 | 
|---|
|  | 12 | *      Author: heber | 
|---|
|  | 13 | */ | 
|---|
|  | 14 |  | 
|---|
|  | 15 | // include config.h | 
|---|
|  | 16 | #ifdef HAVE_CONFIG_H | 
|---|
|  | 17 | #include <config.h> | 
|---|
|  | 18 | #endif | 
|---|
|  | 19 |  | 
|---|
| [9b8fa4] | 20 | #include "CodePatterns/Chronos.hpp" | 
|---|
| [602d66] | 21 |  | 
|---|
| [9b8fa4] | 22 | #include "CodePatterns/Singleton_impl.hpp" | 
|---|
| [602d66] | 23 |  | 
|---|
|  | 24 | Chronos::Chronos() | 
|---|
|  | 25 | {} | 
|---|
|  | 26 |  | 
|---|
|  | 27 | Chronos::~Chronos() | 
|---|
|  | 28 | {} | 
|---|
|  | 29 |  | 
|---|
| [3f06bb] | 30 | double Chronos::getTime(const std::string &_name) const | 
|---|
| [602d66] | 31 | { | 
|---|
|  | 32 | return 0.; | 
|---|
|  | 33 | } | 
|---|
|  | 34 |  | 
|---|
| [3f06bb] | 35 | void Chronos::resetTime(const std::string &_name) | 
|---|
| [602d66] | 36 | {} | 
|---|
|  | 37 |  | 
|---|
| [3f06bb] | 38 | void Chronos::startTiming(const std::string &_name) | 
|---|
| [602d66] | 39 | {} | 
|---|
|  | 40 |  | 
|---|
|  | 41 | double Chronos::getCurrentTime() const | 
|---|
|  | 42 | { | 
|---|
|  | 43 | return 0.; | 
|---|
|  | 44 | } | 
|---|
|  | 45 |  | 
|---|
| [3f06bb] | 46 | void Chronos::endTiming(const std::string &_name) | 
|---|
| [602d66] | 47 | {} | 
|---|
|  | 48 |  | 
|---|
|  | 49 | double Chronos::SumUpTotalTime() const | 
|---|
|  | 50 | { | 
|---|
|  | 51 | return 0.; | 
|---|
|  | 52 | } | 
|---|
|  | 53 |  | 
|---|
|  | 54 | size_t Chronos::SumUpTotalFunctions() const | 
|---|
|  | 55 | { | 
|---|
|  | 56 | return (size_t)0; | 
|---|
|  | 57 | } | 
|---|
|  | 58 |  | 
|---|
|  | 59 | std::ostream& operator<<(std::ostream &ost, const Chronos &_time) | 
|---|
|  | 60 | { | 
|---|
|  | 61 | return ost; | 
|---|
|  | 62 | } | 
|---|
|  | 63 |  | 
|---|
|  | 64 | // construct the remainder of the singleton | 
|---|
|  | 65 | CONSTRUCT_SINGLETON(Chronos) | 
|---|
|  | 66 |  | 
|---|
|  | 67 | // catch if someone wants to use Info objects in here | 
|---|
|  | 68 | #ifdef INFO_HPP_ | 
|---|
|  | 69 | BOOST_PP_ASSERT_MSG(1,\ | 
|---|
|  | 70 | ERROR: This is a safety measure to generate a compiler warning\n \ | 
|---|
|  | 71 | if you really try to use info.hpp in __FILE__.) | 
|---|
|  | 72 | #endif | 
|---|
|  | 73 |  | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.