TFPSList.Assign and .AddList can be faster
Original Reporter info from Mantis: Alextp
-
Reporter name: CudaText man
Original Reporter info from Mantis: Alextp
- Reporter name: CudaText man
Description:
https://github.com/graemeg/freepascal/blob/master/rtl/objpas/fgl.pp
procedure TFPSList.AddList(Obj: TFPSList);
var
i: Integer;
begin
if Obj.ItemSize <> FItemSize then
Error(SListItemSizeError, 0);
for I := 0 to Obj.Count - 1 do
Add(Obj[i]);
end;
Assign() calls Clear then AddList, it's not fast.
But it can be super fast:
- realloc FList to needed size
- Move() data to FList
I need super-fast TFPSList.Assign, pls change it.
Mantis conversion info:
- Mantis ID: 36270
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: 43473 (#d21a262a).
- Monitored by: » Xor-el (Ugochukwu Mmaduekwe)
- Target version: 3.2.0