On Mon, 30 Apr 2018, Maciej Izak wrote:

2018-04-30 13:15 GMT+02:00 Anthony Walter <sys...@gmail.com>:

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:


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).

You mean that a constructor call for a program that does not uses pointers/management operators also gets slower ?

Can we solve this _without_ additional tricks ?

Because the fact that a feature you do not use slows down your code is not really acceptable in my opinion.

Michael
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to