aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-08-07 19:31:35 -0400
committerErik Schnetter <schnetter@gmail.com>2013-08-07 19:31:35 -0400
commit2ee083f401442bcca7265de784e1b0f00a185c25 (patch)
tree49885d659d28f797d6fa81b02f40a395fb5ab44b
parent77e61bb9a06ef271348c96d762935442c7439f0c (diff)
Timers: Add parameters to disable all timers
-rw-r--r--Carpet/Timers/param.ccl9
-rw-r--r--Carpet/Timers/src/CactusTimerSet.cc6
-rw-r--r--Carpet/Timers/src/Timer.cc32
3 files changed, 34 insertions, 13 deletions
diff --git a/Carpet/Timers/param.ccl b/Carpet/Timers/param.ccl
index 2029006c9..d37812b53 100644
--- a/Carpet/Timers/param.ccl
+++ b/Carpet/Timers/param.ccl
@@ -12,6 +12,14 @@ BOOLEAN verbose "Output (debug) messages when a timer is started or stopped" STE
{
} "no"
+BOOLEAN disable_cactus_timer_set "Disable Cactus timer set" STEERABLE=recover
+{
+} "no"
+
+BOOLEAN disable_timer_trees "Disable timer trees" STEERABLE=recover
+{
+} "no"
+
STRING xml_clock "Which clock to use in the XML timer output file" STEERABLE=always
{
".*" :: "must be a legal clock name"
@@ -26,4 +34,3 @@ INT output_precision "Number of decimal places to use in standard output for tim
{
1:* :: "number of decimal places"
} 1
-
diff --git a/Carpet/Timers/src/CactusTimerSet.cc b/Carpet/Timers/src/CactusTimerSet.cc
index 54eed2f70..8fe60bdb4 100644
--- a/Carpet/Timers/src/CactusTimerSet.cc
+++ b/Carpet/Timers/src/CactusTimerSet.cc
@@ -31,12 +31,18 @@ namespace Timers {
// Add a timer
void CactusTimerSet::add(CactusTimer* const timer)
{
+ DECLARE_CCTK_PARAMETERS;
+
+ if (disable_cactus_timer_set) return;
timers.insert(timer);
}
// Remove a timer
void CactusTimerSet::remove(CactusTimer* const timer)
{
+ DECLARE_CCTK_PARAMETERS;
+
+ if (disable_cactus_timer_set) return;
timers.erase(timer);
}
diff --git a/Carpet/Timers/src/Timer.cc b/Carpet/Timers/src/Timer.cc
index 50631c374..904950ef5 100644
--- a/Carpet/Timers/src/Timer.cc
+++ b/Carpet/Timers/src/Timer.cc
@@ -107,14 +107,18 @@ namespace Timers {
extern "C"
int Timer_Startup()
{
- // This must happen before any Timer objects are created
- main_timer_tree.root = new TimerNode(&main_timer_tree, "main");
- main_timer_tree.current = 0; // No timer has been started yet
- main_timer_tree.root->start();
+ DECLARE_CCTK_PARAMETERS;
- mode_timer_tree.root = new TimerNode(&mode_timer_tree, "meta mode");
- mode_timer_tree.current = 0; // No timer has been started yet
- mode_timer_tree.root->start();
+ if (not disable_timer_trees) {
+ // This must happen before any Timer objects are created
+ main_timer_tree.root = new TimerNode(&main_timer_tree, "main");
+ main_timer_tree.current = 0; // No timer has been started yet
+ main_timer_tree.root->start();
+
+ mode_timer_tree.root = new TimerNode(&mode_timer_tree, "meta mode");
+ mode_timer_tree.current = 0; // No timer has been started yet
+ mode_timer_tree.root->start();
+ }
return 0;
}
@@ -122,12 +126,16 @@ namespace Timers {
extern "C"
int Timer_Shutdown()
{
- // main_timer_tree.root->stop();
- // mode_timer_tree.root->stop();
+ DECLARE_CCTK_PARAMETERS;
- // Delete timer tree
- delete main_timer_tree.root; main_timer_tree.root = 0;
- delete mode_timer_tree.root; mode_timer_tree.root = 0;
+ if (not disable_timer_trees) {
+ // main_timer_tree.root->stop();
+ // mode_timer_tree.root->stop();
+
+ // Delete timer trees
+ delete main_timer_tree.root; main_timer_tree.root = 0;
+ delete mode_timer_tree.root; mode_timer_tree.root = 0;
+ }
return 0;
}