[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 17:52:26 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 eschnett):

 Strings in C++ are reference counted and have (almost) value semantics,
 similar to integers. It is very rare to have references to strings; one
 would use these mostly to return values from a routine. Copying a string
 is a cheap operation, probably no more expensive than copying a pointer
 (to the string descriptor) and incrementing a counter (in the string
 descriptor). This incrementing must be atomic in a multi-threaded
 environment (such as Carpet), but I still expect a string copy operations
 to be no more expensive than a few machine instructions.

 Regarding the timed-block construct: it is useful to hide these in a
 macro, similar to loopcontrol  or the various BEGIN_REFLEVEL_LOOP
 constructs. The END_... parts are not strictly necessary -- I added them
 only for documentation; you could design a timed region without it.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/477#comment:9>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list