Detailed Description
methods for clocks and timing issues
Definition in file clock.c.
#include <assert.h>
#include <sys/times.h>
#include <sys/time.h>
#include <unistd.h>
#include <time.h>
#include "scip/def.h"
#include "scip/pub_message.h"
#include "blockmemshell/memory.h"
#include "scip/set.h"
#include "scip/clock.h"
#include "scip/struct_clock.h"
Go to the source code of this file.
Function Documentation
◆ cputime2sec()
|
static |
converts CPU clock ticks into seconds
- Parameters
-
cputime clock ticks for CPU time
Definition at line 44 of file clock.c.
References SCIP_Real.
Referenced by SCIPclockGetTime(), and SCIPclockStart().
◆ walltime2sec()
|
static |
converts wall clock time into seconds
- Parameters
-
sec seconds counter usec microseconds counter
Definition at line 68 of file clock.c.
References SCIP_Real.
Referenced by SCIPclockGetTime(), and SCIPclockStart().
◆ sec2cputime()
|
static |
converts seconds into CPU clock ticks
- Parameters
-
sec seconds cputime pointer to store clock ticks for CPU time
Definition at line 78 of file clock.c.
References NULL.
Referenced by SCIPclockSetTime().
◆ sec2walltime()
|
static |
converts wall clock time into seconds
- Parameters
-
sec seconds wallsec pointer to store seconds counter wallusec pointer to store microseconds counter
Definition at line 101 of file clock.c.
References NULL.
Referenced by SCIPclockSetTime().
◆ clockSetType()
|
static |
sets the clock's type and converts the clock timer accordingly
- Parameters
-
clck clock timer newtype new clock type
Definition at line 117 of file clock.c.
References SCIP_Clock::clocktype, SCIP_Clock::nruns, NULL, SCIP_CLOCKTYPE_DEFAULT, SCIP_Real, SCIPclockGetTime(), SCIPclockReset(), SCIPclockSetTime(), and SCIPdebugMessage.
Referenced by clockUpdateDefaultType(), and SCIPclockSetTime().
◆ clockUpdateDefaultType()
|
static |
if the clock uses the default clock type and the default changed, converts the clock timer to the new type
- Parameters
-
clck clock timer defaultclocktype default type of clock to use
Definition at line 148 of file clock.c.
References clockSetType(), SCIP_Clock::clocktype, NULL, SCIP_CLOCKTYPE_DEFAULT, and SCIP_Clock::usedefault.
Referenced by SCIPclockStart().
◆ SCIPclockCreate()
SCIP_RETCODE SCIPclockCreate | ( | SCIP_CLOCK ** | clck, |
SCIP_CLOCKTYPE | clocktype | ||
) |
creates a clock and initializes it
- Parameters
-
clck pointer to clock timer clocktype type of clock
Definition at line 161 of file clock.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPclockInit().
Referenced by doBendersCreate(), doBenderscutCreate(), doBranchruleCreate(), doComprCreate(), doConflicthdlrCreate(), doConshdlrCreate(), doCutselCreate(), doEventhdlrCreate(), doHeurCreate(), doNodeselCreate(), doPresolCreate(), doPricerCreate(), doPropCreate(), doReaderCreate(), doRelaxCreate(), doScipCreate(), doSepaCreate(), SCIPconflictCreate(), SCIPcreateClock(), SCIPcreateCPUClock(), SCIPcreateWallClock(), SCIPcutpoolCreate(), SCIPexprhdlrCreate(), SCIPnlpiCreate(), SCIPpricestoreCreate(), SCIPreaderRead(), SCIPreoptCreate(), and SCIPstatCreate().
◆ SCIPclockFree()
void SCIPclockFree | ( | SCIP_CLOCK ** | clck | ) |
frees a clock
- Parameters
-
clck pointer to clock timer
Definition at line 176 of file clock.c.
References BMSfreeMemory, and NULL.
Referenced by SCIPbenderscutFree(), SCIPbendersFree(), SCIPbranchruleFree(), SCIPcomprFree(), SCIPconflictFree(), SCIPconflicthdlrFree(), SCIPconshdlrFree(), SCIPcutpoolFree(), SCIPcutselFree(), SCIPeventhdlrFree(), SCIPexprhdlrFree(), SCIPfree(), SCIPfreeClock(), SCIPheurFree(), SCIPnlpiFree(), SCIPnodeselFree(), SCIPpresolFree(), SCIPpricerFree(), SCIPpricestoreFree(), SCIPpropFree(), SCIPreaderFree(), SCIPreaderRead(), SCIPrelaxFree(), SCIPreoptFree(), SCIPsepaFree(), and SCIPstatFree().
◆ SCIPclockInit()
void SCIPclockInit | ( | SCIP_CLOCK * | clck, |
SCIP_CLOCKTYPE | clocktype | ||
) |
initializes and resets a clock
- Parameters
-
clck clock timer clocktype type of clock
Definition at line 186 of file clock.c.
References NULL, SCIPclockSetType(), SCIPdebugMessage, and TRUE.
Referenced by SCIPclockCreate().
◆ SCIPclockReset()
void SCIPclockReset | ( | SCIP_CLOCK * | clck | ) |
completely stop the clock and reset the clock's counter to zero
- Parameters
-
clck clock timer
Definition at line 200 of file clock.c.
References SCIP_Clock::clocktype, NULL, SCIP_CLOCKTYPE_CPU, SCIP_CLOCKTYPE_DEFAULT, SCIP_CLOCKTYPE_WALL, SCIPABORT, SCIPdebugMessage, and SCIPerrorMessage.
Referenced by clockSetType(), SCIPbenderscutInit(), SCIPbendersInit(), SCIPbranchruleInit(), SCIPclockDisable(), SCIPclockSetType(), SCIPcomprInit(), SCIPconflicthdlrInit(), SCIPconshdlrInit(), SCIPcutselInit(), SCIPeventhdlrInit(), SCIPexprhdlrInit(), SCIPheurInit(), SCIPnlpiInit(), SCIPnlpiMergeStatistics(), SCIPnodeselInit(), SCIPpresolInit(), SCIPpricerInit(), SCIPpropInit(), SCIPreaderResetReadingTime(), SCIPrelaxInit(), SCIPresetClock(), SCIPsepaInit(), and SCIPstatReset().
◆ SCIPclockEnable()
void SCIPclockEnable | ( | SCIP_CLOCK * | clck | ) |
enables the clock
- Parameters
-
clck clock timer
Definition at line 226 of file clock.c.
References SCIP_Clock::clocktype, NULL, SCIPdebugMessage, and TRUE.
Referenced by SCIPclockEnableOrDisable().
◆ SCIPclockDisable()
void SCIPclockDisable | ( | SCIP_CLOCK * | clck | ) |
disables and resets the clock
- Parameters
-
clck clock timer
Definition at line 238 of file clock.c.
References SCIP_Clock::clocktype, FALSE, NULL, SCIPclockReset(), and SCIPdebugMessage.
Referenced by SCIPclockEnableOrDisable().
◆ SCIPclockEnableOrDisable()
void SCIPclockEnableOrDisable | ( | SCIP_CLOCK * | clck, |
SCIP_Bool | enable | ||
) |
enables or disables clck
, depending on the value of the flag
- Parameters
-
clck the clock to be disabled/enabled enable should the clock be enabled?
Definition at line 251 of file clock.c.
References NULL, SCIPclockDisable(), and SCIPclockEnable().
Referenced by SCIPbendersEnableOrDisableClocks(), SCIPbranchruleEnableOrDisableClocks(), SCIPconflictEnableOrDisableClocks(), SCIPconflicthdlrEnableOrDisableClocks(), SCIPconshdlrEnableOrDisableClocks(), SCIPcutselEnableOrDisableClocks(), SCIPeventhdlrEnableOrDisableClocks(), SCIPheurEnableOrDisableClocks(), SCIPnodeselEnableOrDisableClocks(), SCIPpresolEnableOrDisableClocks(), SCIPpricerEnableOrDisableClocks(), SCIPpropEnableOrDisableClocks(), SCIPreaderEnableOrDisableClocks(), SCIPrelaxEnableOrDisableClocks(), SCIPsepaEnableOrDisableClocks(), SCIPsetClockEnabled(), and SCIPstatEnableOrDisableStatClocks().
◆ SCIPclockSetType()
void SCIPclockSetType | ( | SCIP_CLOCK * | clck, |
SCIP_CLOCKTYPE | clocktype | ||
) |
sets the type of the clock, overriding the default clock type, and resets the clock
- Parameters
-
clck clock timer clocktype type of clock
Definition at line 265 of file clock.c.
References SCIP_Clock::clocktype, NULL, SCIP_CLOCKTYPE_DEFAULT, SCIPclockReset(), and SCIPdebugMessage.
Referenced by SCIPclockInit().
◆ SCIPclockStart()
void SCIPclockStart | ( | SCIP_CLOCK * | clck, |
SCIP_SET * | set | ||
) |
starts measurement of time in the given clock
- Parameters
-
clck clock timer set global SCIP settings
Definition at line 281 of file clock.c.
References SCIP_Clock::clocktype, clockUpdateDefaultType(), cputime2sec(), SCIP_Clock::enabled, SCIP_Clock::nruns, NULL, SCIP_CLOCKTYPE_CPU, SCIP_CLOCKTYPE_DEFAULT, SCIP_CLOCKTYPE_WALL, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, and walltime2sec().
Referenced by addCurrentSolution(), addNode(), conflictAddConflictCons(), conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), conflictAnalyzeLP(), doCopy(), doScipCreate(), lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), nlpSolve(), nodeRepropagate(), performStrongbranchWithPropagation(), presolve(), runBoundHeuristic(), SCIPbenderscutExec(), SCIPbenderscutExit(), SCIPbenderscutExitsol(), SCIPbenderscutInit(), SCIPbenderscutInitsol(), SCIPbendersExec(), SCIPbendersExit(), SCIPbendersExitpre(), SCIPbendersExitsol(), SCIPbendersInit(), SCIPbendersInitpre(), SCIPbendersInitsol(), SCIPbranchruleExecExternSol(), SCIPbranchruleExecLPSol(), SCIPbranchruleExecPseudoSol(), SCIPbranchruleExit(), SCIPbranchruleExitsol(), SCIPbranchruleInit(), SCIPbranchruleInitsol(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcomprExec(), SCIPcomprExit(), SCIPcomprInit(), SCIPconflictAnalyze(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeStrongbranch(), SCIPconflicthdlrExec(), SCIPconflicthdlrExit(), SCIPconflicthdlrExitsol(), SCIPconflicthdlrInit(), SCIPconflicthdlrInitsol(), SCIPconshdlrCheck(), SCIPconshdlrEnforceLPSol(), SCIPconshdlrEnforcePseudoSol(), SCIPconshdlrEnforceRelaxSol(), SCIPconshdlrExit(), SCIPconshdlrExitpre(), SCIPconshdlrExitsol(), SCIPconshdlrInit(), SCIPconshdlrInitLP(), SCIPconshdlrInitpre(), SCIPconshdlrInitsol(), SCIPconshdlrPresolve(), SCIPconshdlrPropagate(), SCIPconshdlrSeparateLP(), SCIPconshdlrSeparateSol(), SCIPconsResolvePropagation(), SCIPcutpoolSeparate(), SCIPcutselExit(), SCIPcutselExitsol(), SCIPcutselInit(), SCIPcutselInitsol(), SCIPcutselsSelect(), SCIPeventhdlrExec(), SCIPeventhdlrExit(), SCIPeventhdlrExitsol(), SCIPeventhdlrInit(), SCIPeventhdlrInitsol(), SCIPexprhdlrEstimateExpr(), SCIPexprhdlrInitEstimatesExpr(), SCIPexprhdlrIntEvalExpr(), SCIPexprhdlrReversePropExpr(), SCIPexprhdlrSimplifyExpr(), SCIPheurExec(), SCIPheurExit(), SCIPheurExitsol(), SCIPheurInit(), SCIPheurInitsol(), SCIPnlpiAddConstraints(), SCIPnlpiAddVars(), SCIPnlpiChgConsSides(), SCIPnlpiChgExpr(), SCIPnlpiChgLinearCoefs(), SCIPnlpiChgObjConstant(), SCIPnlpiChgVarBounds(), SCIPnlpiCreateProblem(), SCIPnlpiDelConsSet(), SCIPnlpiDelVarSet(), SCIPnlpiFreeProblem(), SCIPnlpiSetObjective(), SCIPnodeselExit(), SCIPnodeselExitsol(), SCIPnodeselInit(), SCIPnodeselInitsol(), SCIPnodeselSelect(), SCIPpresolExec(), SCIPpresolExit(), SCIPpresolExitpre(), SCIPpresolInit(), SCIPpresolInitpre(), SCIPpresolve(), SCIPpricerExit(), SCIPpricerExitsol(), SCIPpricerFarkas(), SCIPpricerInit(), SCIPpricerInitsol(), SCIPpricerRedcost(), SCIPpricestoreAddProbVars(), SCIPpropExec(), SCIPpropExit(), SCIPpropExitpre(), SCIPpropExitsol(), SCIPpropInit(), SCIPpropInitpre(), SCIPpropInitsol(), SCIPpropPresol(), SCIPpropResolvePropagation(), SCIPreaderRead(), SCIPrelaxExec(), SCIPrelaxExit(), SCIPrelaxExitsol(), SCIPrelaxInit(), SCIPrelaxInitsol(), SCIPsepaExecLP(), SCIPsepaExecSol(), SCIPsepaExit(), SCIPsepaExitsol(), SCIPsepaInit(), SCIPsepaInitsol(), SCIPsolve(), SCIPsolveCIP(), SCIPsolveConcurrent(), SCIPstartClock(), SCIPstartSolvingTime(), and SCIPtryStrongbranchLPSol().
◆ SCIPclockStop()
void SCIPclockStop | ( | SCIP_CLOCK * | clck, |
SCIP_SET * | set | ||
) |
stops measurement of time in the given clock
- Parameters
-
clck clock timer set global SCIP settings
Definition at line 351 of file clock.c.
References SCIP_Clock::clocktype, SCIP_Clock::enabled, SCIP_Clock::nruns, NULL, SCIP_CLOCKTYPE_CPU, SCIP_CLOCKTYPE_DEFAULT, SCIP_CLOCKTYPE_WALL, SCIPABORT, SCIPdebugMessage, and SCIPerrorMessage.
Referenced by addCurrentSolution(), addNode(), conflictAddConflictCons(), conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), conflictAnalyzeLP(), doCopy(), lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), nlpSolve(), nodeRepropagate(), performStrongbranchWithPropagation(), presolve(), runBoundHeuristic(), SCIPbenderscutExec(), SCIPbenderscutExit(), SCIPbenderscutExitsol(), SCIPbenderscutInit(), SCIPbenderscutInitsol(), SCIPbendersExec(), SCIPbendersExit(), SCIPbendersExitpre(), SCIPbendersExitsol(), SCIPbendersInit(), SCIPbendersInitpre(), SCIPbendersInitsol(), SCIPbranchruleExecExternSol(), SCIPbranchruleExecLPSol(), SCIPbranchruleExecPseudoSol(), SCIPbranchruleExit(), SCIPbranchruleExitsol(), SCIPbranchruleInit(), SCIPbranchruleInitsol(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcomprExec(), SCIPcomprExit(), SCIPcomprInit(), SCIPconflictAnalyze(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeStrongbranch(), SCIPconflicthdlrExec(), SCIPconflicthdlrExit(), SCIPconflicthdlrExitsol(), SCIPconflicthdlrInit(), SCIPconflicthdlrInitsol(), SCIPconshdlrCheck(), SCIPconshdlrEnforceLPSol(), SCIPconshdlrEnforcePseudoSol(), SCIPconshdlrEnforceRelaxSol(), SCIPconshdlrExit(), SCIPconshdlrExitpre(), SCIPconshdlrExitsol(), SCIPconshdlrInit(), SCIPconshdlrInitLP(), SCIPconshdlrInitpre(), SCIPconshdlrInitsol(), SCIPconshdlrPresolve(), SCIPconshdlrPropagate(), SCIPconshdlrSeparateLP(), SCIPconshdlrSeparateSol(), SCIPconsResolvePropagation(), SCIPcutpoolSeparate(), SCIPcutselExit(), SCIPcutselExitsol(), SCIPcutselInit(), SCIPcutselInitsol(), SCIPcutselsSelect(), SCIPeventhdlrExec(), SCIPeventhdlrExit(), SCIPeventhdlrExitsol(), SCIPeventhdlrInit(), SCIPeventhdlrInitsol(), SCIPexprhdlrEstimateExpr(), SCIPexprhdlrInitEstimatesExpr(), SCIPexprhdlrIntEvalExpr(), SCIPexprhdlrReversePropExpr(), SCIPexprhdlrSimplifyExpr(), SCIPheurExec(), SCIPheurExit(), SCIPheurExitsol(), SCIPheurInit(), SCIPheurInitsol(), SCIPnlpiAddConstraints(), SCIPnlpiAddVars(), SCIPnlpiChgConsSides(), SCIPnlpiChgExpr(), SCIPnlpiChgLinearCoefs(), SCIPnlpiChgObjConstant(), SCIPnlpiChgVarBounds(), SCIPnlpiCreateProblem(), SCIPnlpiDelConsSet(), SCIPnlpiDelVarSet(), SCIPnlpiFreeProblem(), SCIPnlpiSetObjective(), SCIPnodeselExit(), SCIPnodeselExitsol(), SCIPnodeselInit(), SCIPnodeselInitsol(), SCIPnodeselSelect(), SCIPpresolExec(), SCIPpresolExit(), SCIPpresolExitpre(), SCIPpresolInit(), SCIPpresolInitpre(), SCIPpresolve(), SCIPpricerExit(), SCIPpricerExitsol(), SCIPpricerFarkas(), SCIPpricerInit(), SCIPpricerInitsol(), SCIPpricerRedcost(), SCIPpricestoreAddProbVars(), SCIPpropExec(), SCIPpropExit(), SCIPpropExitpre(), SCIPpropExitsol(), SCIPpropInit(), SCIPpropInitpre(), SCIPpropInitsol(), SCIPpropPresol(), SCIPpropResolvePropagation(), SCIPreaderRead(), SCIPrelaxExec(), SCIPrelaxExit(), SCIPrelaxExitsol(), SCIPrelaxInit(), SCIPrelaxInitsol(), SCIPsepaExecLP(), SCIPsepaExecSol(), SCIPsepaExit(), SCIPsepaExitsol(), SCIPsepaInit(), SCIPsepaInitsol(), SCIPsolve(), SCIPsolveCIP(), SCIPsolveConcurrent(), SCIPstopClock(), SCIPstopSolvingTime(), and SCIPtryStrongbranchLPSol().
◆ SCIPclockIsRunning()
SCIP_Bool SCIPclockIsRunning | ( | SCIP_CLOCK * | clck | ) |
returns whether the clock is currently running
- Parameters
-
clck clock timer
Definition at line 418 of file clock.c.
References SCIP_Clock::nruns, and NULL.
Referenced by nodeRepropagate(), and SCIPreaderRead().
◆ SCIPclockGetTime()
SCIP_Real SCIPclockGetTime | ( | SCIP_CLOCK * | clck | ) |
gets the used time of this clock in seconds
- Parameters
-
clck clock timer
Definition at line 429 of file clock.c.
References SCIP_Clock::clocktype, cputime2sec(), NULL, SCIP_CLOCKTYPE_CPU, SCIP_CLOCKTYPE_DEFAULT, SCIP_CLOCKTYPE_WALL, SCIP_Real, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, and walltime2sec().
Referenced by applyVbounds(), clockSetType(), displayRelevantStats(), doCopy(), lpAlgorithm(), lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), printTime(), SCIPbenderscutGetSetupTime(), SCIPbenderscutGetTime(), SCIPbendersGetSetupTime(), SCIPbendersGetTime(), SCIPbranchruleGetSetupTime(), SCIPbranchruleGetTime(), SCIPcomprGetSetupTime(), SCIPcomprGetTime(), SCIPconcsolverGetSyncTime(), SCIPconflictGetBoundexceedingLPTime(), SCIPconflictGetGlobalApplTime(), SCIPconflictGetInfeasibleLPTime(), SCIPconflictGetPropTime(), SCIPconflictGetPseudoTime(), SCIPconflictGetStrongbranchTime(), SCIPconflicthdlrGetSetupTime(), SCIPconflicthdlrGetTime(), SCIPconshdlrGetCheckTime(), SCIPconshdlrGetEnfoLPTime(), SCIPconshdlrGetEnfoPSTime(), SCIPconshdlrGetEnfoRelaxTime(), SCIPconshdlrGetPresolTime(), SCIPconshdlrGetPropTime(), SCIPconshdlrGetRespropTime(), SCIPconshdlrGetSepaTime(), SCIPconshdlrGetSetupTime(), SCIPconshdlrGetStrongBranchPropTime(), SCIPcutpoolGetTime(), SCIPcutselGetSetupTime(), SCIPcutselGetTime(), SCIPeventhdlrGetSetupTime(), SCIPeventhdlrGetTime(), SCIPexprhdlrGetEstimateTime(), SCIPexprhdlrGetIntevalTime(), SCIPexprhdlrGetReversepropTime(), SCIPexprhdlrGetSimplifyTime(), SCIPgetClockTime(), SCIPgetPresolvingTime(), SCIPgetSolvingTime(), SCIPgetTotalTime(), SCIPheurGetSetupTime(), SCIPheurGetTime(), SCIPnlpiGetProblemTime(), SCIPnlpiMergeStatistics(), SCIPnlpiSolve(), SCIPnodeselGetSetupTime(), SCIPnodeselGetTime(), SCIPpresolGetSetupTime(), SCIPpresolGetTime(), SCIPpresolve(), SCIPpricerGetSetupTime(), SCIPpricerGetTime(), SCIPpricestoreGetProbPricingTime(), SCIPprintHeuristicStatistics(), SCIPprintLPStatistics(), SCIPprintNLPStatistics(), SCIPprintReoptStatistics(), SCIPprintTimingStatistics(), SCIPprintTreeStatistics(), SCIPpropGetPresolTime(), SCIPpropGetRespropTime(), SCIPpropGetSetupTime(), SCIPpropGetStrongBranchPropTime(), SCIPpropGetTime(), SCIPreaderGetReadingTime(), SCIPreaderRead(), SCIPrelaxExec(), SCIPrelaxGetSetupTime(), SCIPrelaxGetTime(), SCIPreoptGetSavingtime(), SCIPsepaGetSetupTime(), SCIPsepaGetTime(), SCIPsolveIsStopped(), SCIPstatUpdatePrimalDualIntegrals(), solStamp(), and solveNodeInitialLP().
◆ SCIPclockGetLastTime()
SCIP_Real SCIPclockGetLastTime | ( | SCIP_CLOCK * | clck | ) |
gets the last validated time of this clock in seconds
- Parameters
-
clck clock timer
Definition at line 513 of file clock.c.
References SCIP_Clock::lasttime, and NULL.
Referenced by SCIPsolveIsStopped(), and solStamp().
◆ SCIPclockSetTime()
void SCIPclockSetTime | ( | SCIP_CLOCK * | clck, |
SCIP_Real | sec | ||
) |
sets the used time of this clock in seconds
- Parameters
-
clck clock timer sec time in seconds to set the clock's timer to
Definition at line 523 of file clock.c.
References clockSetType(), SCIP_Clock::clocktype, NULL, SCIP_CLOCKTYPE_CPU, SCIP_CLOCKTYPE_DEFAULT, SCIP_CLOCKTYPE_WALL, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, sec2cputime(), and sec2walltime().
Referenced by clockSetType(), SCIPcutpoolSetTime(), SCIPnlpiMergeStatistics(), SCIPreaderRead(), SCIPreadProb(), and SCIPsetClockTime().