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.
|
static |
converts CPU clock ticks into seconds
cputime | clock ticks for CPU time |
Definition at line 43 of file clock.c.
References SCIP_Real.
Referenced by SCIPclockGetTime(), and SCIPclockStart().
|
static |
converts wall clock time into seconds
sec | seconds counter |
usec | microseconds counter |
Definition at line 67 of file clock.c.
References SCIP_Real.
Referenced by SCIPclockGetTime(), and SCIPclockStart().
|
static |
converts seconds into CPU clock ticks
sec | seconds |
cputime | pointer to store clock ticks for CPU time |
Definition at line 77 of file clock.c.
References NULL.
Referenced by SCIPclockSetTime().
|
static |
converts wall clock time into seconds
sec | seconds |
wallsec | pointer to store seconds counter |
wallusec | pointer to store microseconds counter |
Definition at line 100 of file clock.c.
References NULL.
Referenced by SCIPclockSetTime().
|
static |
sets the clock's type and converts the clock timer accordingly
clck | clock timer |
newtype | new clock type |
Definition at line 116 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().
|
static |
if the clock uses the default clock type and the default changed, converts the clock timer to the new type
clck | clock timer |
defaultclocktype | default type of clock to use |
Definition at line 147 of file clock.c.
References clockSetType(), SCIP_Clock::clocktype, NULL, SCIP_CLOCKTYPE_DEFAULT, and SCIP_Clock::usedefault.
Referenced by SCIPclockStart().
SCIP_RETCODE SCIPclockCreate | ( | SCIP_CLOCK ** | clck, |
SCIP_CLOCKTYPE | clocktype | ||
) |
creates a clock and initializes it
clck | pointer to clock timer |
clocktype | type of clock |
Definition at line 160 of file clock.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPclockInit().
Referenced by SCIPbranchruleCreate(), SCIPcomprCreate(), SCIPconflictCreate(), SCIPconflicthdlrCreate(), SCIPconshdlrCreate(), SCIPcreate(), SCIPcreateClock(), SCIPcreateCPUClock(), SCIPcreateWallClock(), SCIPcutpoolCreate(), SCIPeventhdlrCreate(), SCIPheurCreate(), SCIPnodeselCreate(), SCIPpresolCreate(), SCIPpricerCreate(), SCIPpricestoreCreate(), SCIPpropCreate(), SCIPreaderCreate(), SCIPreaderRead(), SCIPrelaxCreate(), SCIPreoptCreate(), SCIPsepaCreate(), and SCIPstatCreate().
void SCIPclockFree | ( | SCIP_CLOCK ** | clck | ) |
frees a clock
clck | pointer to clock timer |
Definition at line 175 of file clock.c.
References BMSfreeMemory, and NULL.
Referenced by SCIPbranchruleFree(), SCIPcomprFree(), SCIPconflictFree(), SCIPconflicthdlrFree(), SCIPconshdlrFree(), SCIPcutpoolFree(), SCIPeventhdlrFree(), SCIPfree(), SCIPfreeClock(), SCIPheurFree(), SCIPnodeselFree(), SCIPpresolFree(), SCIPpricerFree(), SCIPpricestoreFree(), SCIPpropFree(), SCIPreaderFree(), SCIPreaderRead(), SCIPrelaxFree(), SCIPreoptFree(), SCIPsepaFree(), and SCIPstatFree().
void SCIPclockInit | ( | SCIP_CLOCK * | clck, |
SCIP_CLOCKTYPE | clocktype | ||
) |
initializes and resets a clock
clck | clock timer |
clocktype | type of clock |
Definition at line 185 of file clock.c.
References NULL, SCIPclockSetType(), SCIPdebugMessage, and TRUE.
Referenced by SCIPclockCreate().
void SCIPclockReset | ( | SCIP_CLOCK * | clck | ) |
completely stop the clock and reset the clock's counter to zero
clck | clock timer |
Definition at line 199 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(), SCIPbranchruleInit(), SCIPclockDisable(), SCIPclockSetType(), SCIPcomprInit(), SCIPconflicthdlrInit(), SCIPconshdlrInit(), SCIPeventhdlrInit(), SCIPheurInit(), SCIPnodeselInit(), SCIPpresolInit(), SCIPpricerInit(), SCIPpropInit(), SCIPreaderResetReadingTime(), SCIPrelaxInit(), SCIPresetClock(), SCIPsepaInit(), and SCIPstatReset().
void SCIPclockEnable | ( | SCIP_CLOCK * | clck | ) |
enables the clock
clck | clock timer |
Definition at line 225 of file clock.c.
References SCIP_Clock::clocktype, NULL, SCIPdebugMessage, and TRUE.
Referenced by SCIPclockEnableOrDisable().
void SCIPclockDisable | ( | SCIP_CLOCK * | clck | ) |
disables and resets the clock
clck | clock timer |
Definition at line 237 of file clock.c.
References SCIP_Clock::clocktype, FALSE, NULL, SCIPclockReset(), and SCIPdebugMessage.
Referenced by SCIPclockEnableOrDisable().
void SCIPclockEnableOrDisable | ( | SCIP_CLOCK * | clck, |
SCIP_Bool | enable | ||
) |
enables or disables clck
, depending on the value of the flag
clck | the clock to be disabled/enabled |
enable | should the clock be enabled? |
Definition at line 250 of file clock.c.
References NULL, SCIPclockDisable(), and SCIPclockEnable().
Referenced by SCIPbranchruleEnableOrDisableClocks(), SCIPconflictEnableOrDisableClocks(), SCIPconflicthdlrEnableOrDisableClocks(), SCIPconshdlrEnableOrDisableClocks(), SCIPeventhdlrEnableOrDisableClocks(), SCIPheurEnableOrDisableClocks(), SCIPnodeselEnableOrDisableClocks(), SCIPpresolEnableOrDisableClocks(), SCIPpricerEnableOrDisableClocks(), SCIPpropEnableOrDisableClocks(), SCIPreaderEnableOrDisableClocks(), SCIPrelaxEnableOrDisableClocks(), SCIPsepaEnableOrDisableClocks(), and SCIPstatEnableOrDisableStatClocks().
void SCIPclockSetType | ( | SCIP_CLOCK * | clck, |
SCIP_CLOCKTYPE | clocktype | ||
) |
sets the type of the clock, overriding the default clock type, and resets the clock
clck | clock timer |
clocktype | type of clock |
Definition at line 264 of file clock.c.
References SCIP_Clock::clocktype, NULL, SCIP_CLOCKTYPE_DEFAULT, SCIPclockReset(), and SCIPdebugMessage.
Referenced by SCIPclockInit().
void SCIPclockStart | ( | SCIP_CLOCK * | clck, |
SCIP_SET * | set | ||
) |
starts measurement of time in the given clock
clck | clock timer |
set | global SCIP settings |
Definition at line 280 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(), lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), lpPrimalSimplex(), nlpSolve(), nodeRepropagate(), performStrongbranchWithPropagation(), presolve(), runBoundHeuristic(), 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(), SCIPcreate(), SCIPcutpoolSeparate(), SCIPeventhdlrExec(), SCIPeventhdlrExit(), SCIPeventhdlrExitsol(), SCIPeventhdlrInit(), SCIPeventhdlrInitsol(), SCIPheurExec(), SCIPheurExit(), SCIPheurExitsol(), SCIPheurInit(), SCIPheurInitsol(), 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(), SCIPsolveParallel(), SCIPstartClock(), and SCIPstartSolvingTime().
void SCIPclockStop | ( | SCIP_CLOCK * | clck, |
SCIP_SET * | set | ||
) |
stops measurement of time in the given clock
clck | clock timer |
set | global SCIP settings |
Definition at line 350 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(), 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(), SCIPeventhdlrExec(), SCIPeventhdlrExit(), SCIPeventhdlrExitsol(), SCIPeventhdlrInit(), SCIPeventhdlrInitsol(), SCIPheurExec(), SCIPheurExit(), SCIPheurExitsol(), SCIPheurInit(), SCIPheurInitsol(), 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(), SCIPsolveParallel(), SCIPstopClock(), and SCIPstopSolvingTime().
SCIP_Bool SCIPclockIsRunning | ( | SCIP_CLOCK * | clck | ) |
returns whether the clock is currently running
clck | clock timer |
Definition at line 417 of file clock.c.
References SCIP_Clock::nruns, and NULL.
Referenced by nodeRepropagate(), and SCIPreaderRead().
SCIP_Real SCIPclockGetTime | ( | SCIP_CLOCK * | clck | ) |
gets the used time of this clock in seconds
clck | clock timer |
Definition at line 428 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(), printHeuristicStatistics(), printLPStatistics(), printNLPStatistics(), printTime(), printTimingStatistics(), printTreeStatistics(), SCIPbranchruleGetSetupTime(), SCIPbranchruleGetTime(), SCIPcomprGetSetupTime(), SCIPcomprGetTime(), SCIPconcsolverGetSyncTime(), SCIPconflictGetBoundexceedingLPTime(), SCIPconflictGetGlobalApplTime(), SCIPconflictGetInfeasibleLPTime(), SCIPconflictGetPropTime(), SCIPconflictGetPseudoTime(), SCIPconflictGetStrongbranchTime(), SCIPconflicthdlrGetSetupTime(), SCIPconflicthdlrGetTime(), SCIPconshdlrGetCheckTime(), SCIPconshdlrGetEnfoLPTime(), SCIPconshdlrGetEnfoPSTime(), SCIPconshdlrGetEnfoRelaxTime(), SCIPconshdlrGetPresolTime(), SCIPconshdlrGetPropTime(), SCIPconshdlrGetRespropTime(), SCIPconshdlrGetSepaTime(), SCIPconshdlrGetSetupTime(), SCIPconshdlrGetStrongBranchPropTime(), SCIPcutpoolGetTime(), SCIPeventhdlrGetSetupTime(), SCIPeventhdlrGetTime(), SCIPgetClockTime(), SCIPgetPresolvingTime(), SCIPgetSolvingTime(), SCIPgetTotalTime(), SCIPheurGetSetupTime(), SCIPheurGetTime(), SCIPnodeselGetSetupTime(), SCIPnodeselGetTime(), SCIPpresolGetSetupTime(), SCIPpresolGetTime(), SCIPpresolve(), SCIPpricerGetSetupTime(), SCIPpricerGetTime(), SCIPpricestoreGetProbPricingTime(), SCIPprintReoptStatistics(), SCIPpropGetPresolTime(), SCIPpropGetRespropTime(), SCIPpropGetSetupTime(), SCIPpropGetStrongBranchPropTime(), SCIPpropGetTime(), SCIPreaderGetReadingTime(), SCIPreaderRead(), SCIPrelaxGetSetupTime(), SCIPrelaxGetTime(), SCIPreoptGetSavingtime(), SCIPsepaGetSetupTime(), SCIPsepaGetTime(), SCIPsolveIsStopped(), SCIPstatUpdatePrimalDualIntegral(), solStamp(), and solveNodeInitialLP().
SCIP_Real SCIPclockGetLastTime | ( | SCIP_CLOCK * | clck | ) |
gets the last validated time of this clock in seconds
clck | clock timer |
Definition at line 508 of file clock.c.
References SCIP_Clock::lasttime, and NULL.
Referenced by SCIPsolveIsStopped(), and solStamp().
void SCIPclockSetTime | ( | SCIP_CLOCK * | clck, |
SCIP_Real | sec | ||
) |
sets the used time of this clock in seconds
clck | clock timer |
sec | time in seconds to set the clock's timer to |
Definition at line 518 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(), SCIPreaderRead(), SCIPreadProb(), and SCIPsetClockTime().