<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2018-04-30 13:15 GMT+02:00 Anthony Walter <span dir="ltr"><<a href="mailto:sysrpl@gmail.com" target="_blank">sysrpl@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Okay great. Thanks for the information. I'll experiment with the smart pointers and their potential performance impact. In the interim I've created a solution using the approach of records containing private reference counted interfaces. Here is an example of my JSContext record:</div></div></blockquote><div><br></div><div>Internal interface is also proper solution, all depends on use-case. Anyway in my previous post I mean that every execution of constructor in trunk (even without smart pointers/management operators in any place) is slower than in 3.0.* (in most of cases the difference is very subtle, just additional call to "int_initialize" in TObject.InitInstance (rtl\inc\objpas.inc file) - with FastRTTI this problem is solved).</div></div><div><br></div>-- <br><div class="m_-5997561222368098013gmail_signature"><div dir="ltr"><div>Best regards,<br>Maciej Izak</div></div></div>
</div></div>