<p>Am 10.07.2017 13:19 schrieb "Michael Van Canneyt" <<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>>:<br>
><br>
><br>
><br>
> On Mon, 10 Jul 2017, Felipe Monteiro de Carvalho wrote:<br>
><br>
>> On Mon, Jul 10, 2017 at 1:08 PM, Michael Van Canneyt<br>
>> <<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>> wrote:<br>
>>><br>
>>> The code is definitely not the same. In each case, it was measured. There is<br>
>>> a 10% performance loss.<br>
>><br>
>><br>
>> I'd love a source on this one. I guess you mean in Free Pascal?<br>
><br>
><br>
> Obviously.<br>
><br>
> The classes unit can be recompiled to use the fgl (well, that used to be so)<br>
> as a basis. When using the resulting list and stringlist, there was a 10%<br>
> performance loss. The main reason - If I recall correctly - was that the fgl needs to resort to move() operations instead of direct assignments.</p>
<p>The fgl classes don't use Move(), but they have a virtual method that does the assignment between the specialized parameters that's inherited from the non-generic parent list type.</p>
<p>You might want to test with the list provided by the rtl-generics package.</p>
<p>Regards,<br>
Sven</p>