<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<double, 5> 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>