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