Column-oriented GPU-accelerated Database Management System
CoGaDB
hype::core::AlgorithmStatistics Class Reference

This class represents an information collection of an algorithm. Hence, it is the central place where all statistical information for one algorithm is stored. More...

#include <algorithm_statistics.hpp>

Collaboration diagram for hype::core::AlgorithmStatistics:

List of all members.

Public Member Functions

 AlgorithmStatistics ()
bool writeToDisc (const std::string &operation_name, const std::string &algorithm_name) const

Public Attributes

MeasurementPairRingbuffer executionHistory_
std::vector< double > relative_errors_
unsigned int number_of_recomputations_
unsigned int number_of_decisions_for_this_algorithm_
double average_relative_error_
double total_execution_time_
unsigned int number_of_terminated_executions_of_this_algorithm_

Private Member Functions

 AlgorithmStatistics (const AlgorithmStatistics &)
AlgorithmStatisticsoperator= (const AlgorithmStatistics &)

Static Private Member Functions

static void * operator new (size_t size)
static void operator delete (void *ptr)

Detailed Description

This class represents an information collection of an algorithm. Hence, it is the central place where all statistical information for one algorithm is stored.

The algorithm and the operation the algorithm belongs to are responsible to update the statistical information. Note, that a stemod::core::AlgorithmMeasurement object is used for the execution time measurement on the user side and automatically triggers the insertion of a new MeasurementPair as soon as the measurement is stopped.

Internally, stemod::core::AlgorithmMeasurement::afterAlgorithmExecution() stops the time and adds the received data to the algorithms statistics.

Author:
Sebastian Breß
Version:
0.1
Date:
2012
Todo:
This class is designed to be a member for algorithm that encapsulates statistical information. It is NOT meaningful to create an AlgorithmStatistics object on the heap. Therefore, heap based objects should be forbidden by making the operators new and new[] private. Furtheremore, the AlgorithmStatistics object should not be copyable, so making the copy cosntructur and copy assignment operator private is necessary as well.

Constructor & Destructor Documentation


Member Function Documentation

static void hype::core::AlgorithmStatistics::operator delete ( void *  ptr) [static, private]
static void* hype::core::AlgorithmStatistics::operator new ( size_t  size) [static, private]
AlgorithmStatistics& hype::core::AlgorithmStatistics::operator= ( const AlgorithmStatistics ) [private]
bool hype::core::AlgorithmStatistics::writeToDisc ( const std::string &  operation_name,
const std::string &  algorithm_name 
) const

Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines