LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | List of all members
lsst::afw::math::GaussianProcessTimer Class Reference

This is a structure for keeping track of how long the interpolation methods spend on different parts of the interpolation. More...

#include <GaussianProcess.h>

Public Member Functions

 GaussianProcessTimer ()
 
 GaussianProcessTimer (GaussianProcessTimer const &)=default
 
 GaussianProcessTimer (GaussianProcessTimer &&)=default
 
GaussianProcessTimeroperator= (GaussianProcessTimer const &)=default
 
GaussianProcessTimeroperator= (GaussianProcessTimer &&)=default
 
 ~GaussianProcessTimer ()=default
 
void reset ()
 Resets all of the data members of GaussianProcessTimer to zero. More...
 
void start ()
 Starts the timer for an individual call to an interpolation routine. More...
 
void addToEigen ()
 Adds time to _eigenTime. More...
 
void addToVariance ()
 Adds time to _varianceTime. More...
 
void addToSearch ()
 Adds time to _searchTime. More...
 
void addToIteration ()
 Adds time to _iterationTime. More...
 
void addToTotal (int i)
 Adds time to _totalTime and adds counts to _interpolationCount. More...
 
void display ()
 Displays the current values of all times and _interpolationCount. More...
 

Detailed Description

This is a structure for keeping track of how long the interpolation methods spend on different parts of the interpolation.

_eigenTime keeps track of how much time is spent using Eigen's linear algebra packages

_iterationTime keeps track of how much time is spent iterating over matrix indices (this is also a catch-all for time that does not obviously fit in the other categories)

_searchTime keeps track of how much time is spent on nearest neighbor searches (when applicable)

_varianceTime keeps track of how much time is spent calculating the variance of our interpolated function value (note: time spent using Eigen packages for this purpose is tallied here, not in _eigenTime)

_totalTime keeps track of how much time total is spent on interpolations

_interpolationCount keeps track of how many points have been interpolated

Definition at line 60 of file GaussianProcess.h.

Constructor & Destructor Documentation

◆ GaussianProcessTimer() [1/3]

lsst::afw::math::GaussianProcessTimer::GaussianProcessTimer ( )

Definition at line 36 of file GaussianProcess.cc.

36  {
37  _interpolationCount = 0;
38  _iterationTime = 0.0;
39  _eigenTime = 0.0;
40  _searchTime = 0.0;
41  _varianceTime = 0.0;
42  _totalTime = 0.0;
43 }

◆ GaussianProcessTimer() [2/3]

lsst::afw::math::GaussianProcessTimer::GaussianProcessTimer ( GaussianProcessTimer const &  )
default

◆ GaussianProcessTimer() [3/3]

lsst::afw::math::GaussianProcessTimer::GaussianProcessTimer ( GaussianProcessTimer &&  )
default

◆ ~GaussianProcessTimer()

lsst::afw::math::GaussianProcessTimer::~GaussianProcessTimer ( )
default

Member Function Documentation

◆ addToEigen()

void lsst::afw::math::GaussianProcessTimer::addToEigen ( )

Adds time to _eigenTime.

Definition at line 59 of file GaussianProcess.cc.

59  {
60  double after;
61  after = double(lsst::daf::base::DateTime::now().get() * 24 * 60 * 60);
62  _eigenTime += after - _before;
63  _before = after;
64 }
static DateTime now(void)
Return current time as a DateTime.
Definition: DateTime.cc:518

◆ addToIteration()

void lsst::afw::math::GaussianProcessTimer::addToIteration ( )

Adds time to _iterationTime.

Definition at line 80 of file GaussianProcess.cc.

80  {
81  double after;
82  after = double(lsst::daf::base::DateTime::now().get() * 24 * 60 * 60);
83  _iterationTime += after - _before;
84  _before = after;
85 }

◆ addToSearch()

void lsst::afw::math::GaussianProcessTimer::addToSearch ( )

Adds time to _searchTime.

Definition at line 73 of file GaussianProcess.cc.

73  {
74  double after;
75  after = double(lsst::daf::base::DateTime::now().get() * 24 * 60 * 60);
76  _searchTime += after - _before;
77  _before = after;
78 }

◆ addToTotal()

void lsst::afw::math::GaussianProcessTimer::addToTotal ( int  i)

Adds time to _totalTime and adds counts to _interpolationCount.

Parameters
[in]ithe number of counts to add to _interpolationCount

Definition at line 87 of file GaussianProcess.cc.

87  {
88  double after;
89  after = double(lsst::daf::base::DateTime::now().get() * 24 * 60 * 60);
90  _totalTime += after - _beginning;
91  _interpolationCount += i;
92 }

◆ addToVariance()

void lsst::afw::math::GaussianProcessTimer::addToVariance ( )

Adds time to _varianceTime.

Definition at line 66 of file GaussianProcess.cc.

66  {
67  double after;
68  after = double(lsst::daf::base::DateTime::now().get() * 24 * 60 * 60);
69  _varianceTime += after - _before;
70  _before = after;
71 }

◆ display()

void lsst::afw::math::GaussianProcessTimer::display ( )

Displays the current values of all times and _interpolationCount.

Definition at line 94 of file GaussianProcess.cc.

94  {
95  std::cout << "\nSearch time " << _searchTime << "\n";
96  std::cout << "Eigen time " << _eigenTime << "\n";
97  std::cout << "Variance time " << _varianceTime << "\n";
98  std::cout << "Iteration time " << _iterationTime << "\n";
99  std::cout << "Total time " << _totalTime << "\n";
100  std::cout << "Number of interpolations " << _interpolationCount << "\n";
101 }

◆ operator=() [1/2]

GaussianProcessTimer& lsst::afw::math::GaussianProcessTimer::operator= ( GaussianProcessTimer &&  )
default

◆ operator=() [2/2]

GaussianProcessTimer& lsst::afw::math::GaussianProcessTimer::operator= ( GaussianProcessTimer const &  )
default

◆ reset()

void lsst::afw::math::GaussianProcessTimer::reset ( )

Resets all of the data members of GaussianProcessTimer to zero.

Definition at line 45 of file GaussianProcess.cc.

45  {
46  _interpolationCount = 0;
47  _iterationTime = 0.0;
48  _eigenTime = 0.0;
49  _searchTime = 0.0;
50  _varianceTime = 0.0;
51  _totalTime = 0.0;
52 }

◆ start()

void lsst::afw::math::GaussianProcessTimer::start ( )

Starts the timer for an individual call to an interpolation routine.

Definition at line 54 of file GaussianProcess.cc.

54  {
55  _before = double(lsst::daf::base::DateTime::now().get() * 24 * 60 * 60);
56  _beginning = _before;
57 }

The documentation for this class was generated from the following files: