[ET Trac] [Einstein Toolkit] #477: Carpet commit f33caf3aba96 (hg) breaks timer output in CCTK_Terminate
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Tue Jul 19 16:44:05 CDT 2011
#477: Carpet commit f33caf3aba96 (hg) breaks timer output in CCTK_Terminate
---------------------+------------------------------------------------------
Reporter: rhaas | Owner: eschnett
Type: defect | Status: review
Priority: major | Milestone:
Component: Carpet | Version:
Resolution: | Keywords:
---------------------+------------------------------------------------------
Comment (by hinder):
I did think about using some sort of C++ scoping construct as you
suggested to ensure that timers were deleted automaticall. I think I
wanted to make the minimal change to the Timer API so that all the
existing timer usage didn't have to be changed. One thing I'm not sure
about: can you be sure of the order in which the destructors are called if
you have more than one timedblock in scope? If not, then you would need
to have multiple levels of {...} nesting when you have more than one
timer, which would be ugly.
What happens to the reference if you return a reference to the string, and
the TimerNode object subsequently gets deleted? The string will have been
deleted (it was part of the TimerNode object) but the reference will
remain. In general, the Carpet timers are used around large chunks of
code so they should not be performance critical. However, there are some
parts of CarpetLib which I think use the timers which this might not apply
to.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/477#comment:7>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list