[fpc-devel] What's the status of Maciej's Smart Pointer enhancements?

Michael Van Canneyt michael at freepascal.org
Mon Apr 30 13:53:35 CEST 2018



On Mon, 30 Apr 2018, Maciej Izak wrote:

> 2018-04-30 13:15 GMT+02:00 Anthony Walter <sysrpl at 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



More information about the fpc-devel mailing list