Skip to content
Snippets Groups Projects
Commit c144d985 authored by Nina Džugasová's avatar Nina Džugasová Committed by Tomáš Oberhuber
Browse files

Documentation of Timer.

parent b570813c
No related branches found
No related tags found
1 merge request!15Nina
...@@ -5,7 +5,7 @@ str3: string ...@@ -5,7 +5,7 @@ str3: string
str4: 28.4 //string type str4: 28.4 //string type
//functions //functions
size of string: 6 bytes size of string: 8 bytes
alloc_size: 256 alloc_size: 256
memory: 512 memory: 512
setter: Something new setter: Something new
......
...@@ -40,18 +40,20 @@ class FileName ...@@ -40,18 +40,20 @@ class FileName
void setFileNameBase( const String& fileNameBase ); void setFileNameBase( const String& fileNameBase );
/// \brief Sets the extension of given file. /// \brief Sets the extension of given file.
/// ///
/// Sets \e extension as suffix of a file name. /// Sets \e extension as suffix of a file name.
/// @param extension String that specifies extension of file (without dot). Suffix of a file name. E.g. doc, xls, tnl. /// @param extension String that specifies extension of file (without dot).
/// Suffix of a file name. E.g. doc, xls, tnl.
void setExtension( const String& extension ); void setExtension( const String& extension );
// \brief Sets index for given file. /// \brief Sets index for given file.
/// ///
/// Sets \e index after the base name of given file. /// Sets \e index after the base name of given file.
/// @param index Integer - number of maximum 5(default) digits. (Number of digits can be changed with \c setDigitsCount). /// @param index Integer - number of maximum 5(default) digits.
/// (Number of digits can be changed with \c setDigitsCount).
void setIndex( const int index ); void setIndex( const int index );
// \brief Sets number of digits for index of given file. /// \brief Sets number of digits for index of given file.
/// ///
/// @param digitsCount Integer - number of digits. /// @param digitsCount Integer - number of digits.
void setDigitsCount( const int digitsCount ); void setDigitsCount( const int digitsCount );
...@@ -62,7 +64,7 @@ class FileName ...@@ -62,7 +64,7 @@ class FileName
void setDistributedSystemNodeId( const Coordinates& nodeId ); void setDistributedSystemNodeId( const Coordinates& nodeId );
/// Creates appropriate name for given file. /// Creates appropriate name for given file.
/// ///
/// Creates particular file name using \e fileNameBase, \e digitsCount, /// Creates particular file name using \e fileNameBase, \e digitsCount,
/// \e index and \e extension. /// \e index and \e extension.
String getFileName(); String getFileName();
......
...@@ -15,32 +15,67 @@ namespace TNL { ...@@ -15,32 +15,67 @@ namespace TNL {
class Logger; class Logger;
/// \brief Class for time measuring
class Timer class Timer
{ {
public: public:
/////
/// \brief Basic constructor.
///
/// This function creates a new timer.
Timer(); Timer();
/////
/// \brief Resets timer.
///
/// Resets all time and cycle measurements such as real time, CPU time and CPU cycles.
/// Sets all of them to zero.
void reset(); void reset();
////
/// \brief Stops timer.
///
/// Stops all time and cycle measurements such as real time, CPU time and CPU cycles.
void stop(); void stop();
/////
/// \brief Starts timer.
///
/// Starts all time and cycle measurements such as real time, CPU time and CPU cycles.
void start(); void start();
/// \brief Counts the real (clock) time starting after the function \c start() is called.
double getRealTime() const; double getRealTime() const;
/////
/// \brief Measures the CPU time.
///
/// CPU time is the time that measures how long it takes processor
/// to complete all computations.
double getCPUTime() const; double getCPUTime() const;
/// Counts the number of CPU cycles (machine cycles).
unsigned long long int getCPUCycles() const; unsigned long long int getCPUCycles() const;
/// \brief Writes a record to the \e logger.
///
/// \param logger
/// \param logLevel
bool writeLog( Logger& logger, int logLevel = 0 ) const; bool writeLog( Logger& logger, int logLevel = 0 ) const;
protected: protected:
/// Function for reading the real time from timer.
double readRealTime() const; double readRealTime() const;
/// \brief Function for reading the CPU time from timer.
///
/// CPU time is the time that measures how long it takes processor
/// to complete all computations.
double readCPUTime() const; double readCPUTime() const;
/// \brief Function for reading the number of CPU cycles (machine cycles).
unsigned long long int readCPUCycles() const; unsigned long long int readCPUCycles() const;
...@@ -48,7 +83,10 @@ class Timer ...@@ -48,7 +83,10 @@ class Timer
initialCPUTime, totalCPUTime; initialCPUTime, totalCPUTime;
unsigned long long int initialCPUCycles, totalCPUCycles; unsigned long long int initialCPUCycles, totalCPUCycles;
/// \brief Saves information about state of the timer.
///
/// Knows whether the timer is currently stopped or not.
bool stopState; bool stopState;
inline unsigned long long rdtsc() const inline unsigned long long rdtsc() const
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#endif #endif
#include <TNL/FileName.h> #include <TNL/FileName.h>
#include <TNL/String.h> // #include <TNL/String.h>
using namespace TNL; using namespace TNL;
...@@ -71,6 +71,7 @@ TEST( FileNameTest, AllTogether ) ...@@ -71,6 +71,7 @@ TEST( FileNameTest, AllTogether )
fname.setDigitsCount(3); fname.setDigitsCount(3);
EXPECT_EQ( fname.getFileName(), "name008.tnl" ); EXPECT_EQ( fname.getFileName(), "name008.tnl" );
EXPECT_EQ( getFileExtension(fname.getFileName()), "tnl" );
} }
#endif #endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment