<html>#2512: Enable detection of `attribute(pure)`
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Erik Schnetter</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td>development version</td></tr>
<tr><td style='text-align:right'>     Type:</td><td>proposal</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>

<p>Comment (by Roland Haas):</p>
<p>Linux perf timing for a 1 thread qc0-mclachlan.par test run (until it aborts due to multiple components on the single MPI rank).</p>
<p>Most time is spent in:</p>
<div class="codehilite"><pre><span></span># Overhead  Command     Shared Object                Symbol                                             # 
14.17%  cactus_sim  cactus_sim                   [.] ML_BSSN::ML_BSSN_EvolutionInteriorSplitBy3_Body    11.16%  cactus_sim  cactus_sim                   [.] ML_BSSN::ML_BSSN_EvolutionInteriorSplitBy2_Body    10.29%  cactus_sim  cactus_sim                   [.] CarpetLib::prolongate_3d_rf2&lt;double, 5&gt;             6.58%  cactus_sim  cactus_sim                   [.] ML_BSSN::ML_BSSN_EvolutionInteriorSplitBy1_Body     4.64%  cactus_sim  cactus_sim                   [.] apply_dissipation_._omp_fn.2                        4.38%  cactus_sim  cactus_sim                   [.] ML_BSSN::ML_BSSN_ADMBaseInterior_Body               4.19%  cactus_sim  libm-2.31.so                 [.] __ieee754_pow_sse2                             
</pre></div>


<p>and <code>CCTKi_VarDataPtrI</code> is 0.01%. So this could be due to McLachlan being C and Lean being Fortran (hence no Fortran wrappers). The Fortran wrappers are terrible in that they contain calls to <code>CCTKi_GroupLengthAsPointer</code> for all vectors of grid functions (which takes a group name ie a string as an argument).</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2512/enable-detection-of-attribute-pure'>https://bitbucket.org/einsteintoolkit/tickets/issues/2512/enable-detection-of-attribute-pure</a></p>
</html>