# IpTimingStatistics.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2005, 2008 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Eclipse Public License.
    00004 //
    00005 // $Id: IpTimingStatistics.hpp 2005 2011-06-06 12:55:16Z stefan $
    00006 //
    00007 // Authors:  Andreas Waechter               IBM    2005-09-19
    00008
    00009 #ifndef __IPTIMINGSTATISTICS_HPP__
    00010 #define __IPTIMINGSTATISTICS_HPP__
    00011
    00012 #include "IpReferenced.hpp"
    00013 #include "IpJournalist.hpp"
    00014 #include "IpTimedTask.hpp"
    00015
    00016 namespace Ipopt
    00017 {
    00020   class TimingStatistics : public ReferencedObject
    00021   {
    00022   public:
    00026     TimingStatistics()
    00027     {}
    00028
    00030     virtual ~TimingStatistics()
    00031     {}
    00033
    00035     void ResetTimes();
    00036
    00038     void PrintAllTimingStatistics(Journalist& jnlst,
    00039                                   EJournalLevel level,
    00040                                   EJournalCategory category) const;
    00041
    00044     TimedTask& OverallAlgorithm()
    00045     {
    00046       return OverallAlgorithm_;
    00047     }
    00048     TimedTask& PrintProblemStatistics()
    00049     {
    00050       return PrintProblemStatistics_;
    00051     }
    00052     TimedTask& InitializeIterates()
    00053     {
    00054       return InitializeIterates_;
    00055     }
    00056     TimedTask& UpdateHessian()
    00057     {
    00058       return UpdateHessian_;
    00059     }
    00060     TimedTask& OutputIteration()
    00061     {
    00062       return OutputIteration_;
    00063     }
    00064     TimedTask& UpdateBarrierParameter()
    00065     {
    00066       return UpdateBarrierParameter_;
    00067     }
    00068     TimedTask& ComputeSearchDirection()
    00069     {
    00070       return ComputeSearchDirection_;
    00071     }
    00072     TimedTask& ComputeAcceptableTrialPoint()
    00073     {
    00074       return ComputeAcceptableTrialPoint_;
    00075     }
    00076     TimedTask& AcceptTrialPoint()
    00077     {
    00078       return AcceptTrialPoint_;
    00079     }
    00080     TimedTask& CheckConvergence()
    00081     {
    00082       return CheckConvergence_;
    00083     }
    00084
    00085     TimedTask& PDSystemSolverTotal()
    00086     {
    00087       return PDSystemSolverTotal_;
    00088     }
    00089     TimedTask& PDSystemSolverSolveOnce()
    00090     {
    00091       return PDSystemSolverSolveOnce_;
    00092     }
    00093     TimedTask& ComputeResiduals()
    00094     {
    00095       return ComputeResiduals_;
    00096     }
    00097     TimedTask& StdAugSystemSolverMultiSolve()
    00098     {
    00099       return StdAugSystemSolverMultiSolve_;
    00100     }
    00101     TimedTask& LinearSystemScaling()
    00102     {
    00103       return LinearSystemScaling_;
    00104     }
    00105     TimedTask& LinearSystemSymbolicFactorization()
    00106     {
    00107       return LinearSystemSymbolicFactorization_;
    00108     }
    00109     TimedTask& LinearSystemFactorization()
    00110     {
    00111       return LinearSystemFactorization_;
    00112     }
    00113     TimedTask& LinearSystemBackSolve()
    00114     {
    00115       return LinearSystemBackSolve_;
    00116     }
    00117     TimedTask& LinearSystemStructureConverter()
    00118     {
    00119       return LinearSystemStructureConverter_;
    00120     }
    00121     TimedTask& LinearSystemStructureConverterInit()
    00122     {
    00123       return LinearSystemStructureConverterInit_;
    00124     }
    00125     TimedTask& QualityFunctionSearch()
    00126     {
    00127       return QualityFunctionSearch_;
    00128     }
    00129     TimedTask& TryCorrector()
    00130     {
    00131       return TryCorrector_;
    00132     }
    00133
    00134     TimedTask& Task1()
    00135     {
    00136       return Task1_;
    00137     }
    00138     TimedTask& Task2()
    00139     {
    00140       return Task2_;
    00141     }
    00142     TimedTask& Task3()
    00143     {
    00144       return Task3_;
    00145     }
    00146     TimedTask& Task4()
    00147     {
    00148       return Task4_;
    00149     }
    00150     TimedTask& Task5()
    00151     {
    00152       return Task5_;
    00153     }
    00154     TimedTask& Task6()
    00155     {
    00156       return Task6_;
    00157     }
    00159
    00160   private:
    00170     TimingStatistics(const TimingStatistics&);
    00171
    00173     void operator=(const TimingStatistics&);
    00175
    00178     TimedTask OverallAlgorithm_;
    00179     TimedTask PrintProblemStatistics_;
    00180     TimedTask InitializeIterates_;
    00181     TimedTask UpdateHessian_;
    00182     TimedTask OutputIteration_;
    00183     TimedTask UpdateBarrierParameter_;
    00184     TimedTask ComputeSearchDirection_;
    00185     TimedTask ComputeAcceptableTrialPoint_;
    00186     TimedTask AcceptTrialPoint_;
    00187     TimedTask CheckConvergence_;
    00188
    00189     TimedTask PDSystemSolverTotal_;
    00190     TimedTask PDSystemSolverSolveOnce_;
    00191     TimedTask ComputeResiduals_;
    00192     TimedTask StdAugSystemSolverMultiSolve_;
    00193     TimedTask LinearSystemScaling_;
    00194     TimedTask LinearSystemSymbolicFactorization_;
    00195     TimedTask LinearSystemFactorization_;
    00196     TimedTask LinearSystemBackSolve_;
    00197     TimedTask LinearSystemStructureConverter_;
    00198     TimedTask LinearSystemStructureConverterInit_;
    00199     TimedTask QualityFunctionSearch_;
    00200     TimedTask TryCorrector_;
    00201
    00202     TimedTask Task1_;
    00203     TimedTask Task2_;
    00204     TimedTask Task3_;
    00205     TimedTask Task4_;
    00206     TimedTask Task5_;
    00207     TimedTask Task6_;
    00209   };
    00210
    00211 } // namespace Ipopt
    00212
    00213 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines