<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p></p>
<div>
<p>Hi Kevin,</p>
<p><br>
</p>
<p>thanks for the explanation. </p>
<p>Yes, I have done some performance measurements for trafo's without "TracesTo" connections, measuring the runtime before and after each call of:</p>
<p><span style="font-family:"Calibri","sans-serif"">"RTTGenerator::Instance()->generateRule(int id, const std::string &name);"</span></p>
<p><span style="font-family:"Calibri","sans-serif"">For trafo's with a low number of rule executions (< 10 thousand) the call takes a couple of milliseconds only. However, it was discovered that the runtime of the RTTGenerator increases somewhat linearly with
 each following rule call (the calculated gradient is about 0.025 ms/rule execution). So for 40.000 rule executions the RTTGenerator takes about 1000 ms for each rule.
<br>
<br>
</span></p>
<p><span style="font-family:"Calibri","sans-serif"">In one combination of a trafo + input-model, with about 70.000 rule executions, 97 percent of the overall trafo-runtime was caused by the RTTGenerator. By uncommenting the lines in the source code before compiling
 I was able to reduce the overall runtime by this amount. <br>
<br>
</span></p>
<p>Best regards,</p>
<p> </p>
Valentin</div>
<br>
<p></p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> great-users <great-users-bounces@list.isis.vanderbilt.edu> im Auftrag von Kevin Smyth <kevin.m.smyth@gmail.com><br>
<b>Gesendet:</b> Donnerstag, 9. November 2017 20:21:17<br>
<b>An:</b> A list for GReAT users to share bugs, fixes and ideas<br>
<b>Betreff:</b> Re: [great-users] RTTGenerator</font>
<div> </div>
</div>
<div>
<div dir="ltr">Hi Valentin,
<div><br>
</div>
<div>The idea is that the transformation can note what FCO in the input model corresponds to which FCO in the output model. You can do this in your transformation's Rule by creating a TracesTo connection between PatternClasses.</div>
<div><br>
</div>
<div>If you have no TracesTo connections in your transform, I wouldn't think the performance impact is noticeable. Have you measured the performance?</div>
<div><br>
</div>
<div>Kevin</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Oct 17, 2017 at 9:04 AM, Belser, Valentin <span dir="ltr">
<<a href="mailto:lrt85082@stud.uni-stuttgart.de" target="_blank">lrt85082@stud.uni-stuttgart.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div id="m_-7409109558000199185divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hello everybody,</p>
<p><br>
</p>
<p>I have some question considering the use of the "RTTGenerator". So far I have not found anything about it in the documentation, which is why I am contacting you.</p>
<p>The Translator of the CodeGenerator creates inside the "operator()" of every rule the following line of code:</p>
<p><span><br>
</span></p>
<p><span>RTTGenerator::Instance()-><span>gene<wbr>rateRule(int id, const std::string &name);</span><br>
</span></p>
<br>
<p><span>What is the underlying idea of the RTTGenerator? <br>
</span></p>
<p><span><span>As far as I can see it writes to a generated mga-file "RTT_NameOfInputFile.mga" for every rule execution. I was wondering whether
</span>it might be possible to uncomment the code for runtime improvements of large transformations or does the transformation read from this file during execution, thus is required for correct output?</span></p>
<p><span>I am looking forward to hear from you.</span></p>
<p><span><br>
</span></p>
<p><span>Best regards,</span></p>
<p><span><br>
</span></p>
<p><span>Valentin<br>
</span></p>
<p><span></span><br>
</p>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
great-users mailing list<br>
<a href="mailto:great-users@list.isis.vanderbilt.edu">great-users@list.isis.<wbr>vanderbilt.edu</a><br>
<a href="http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/great-users" rel="noreferrer" target="_blank">http://list.isis.vanderbilt.<wbr>edu/cgi-bin/mailman/listinfo/<wbr>great-users</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</body>
</html>