Re: [Lazarus] FileUtil.FindAllFiles - changes strings inside

2020-09-21 Thread Ralf Quint via lazarus

On 9/21/2020 3:16 AM, Bart via lazarus wrote:

On Mon, Sep 21, 2020 at 12:19 AM AlexeyT via lazarus
 wrote:


you see that to iterate over all items in char-separated ASearchPath,
code modifies str, ie deletes parts of it. It's slow! We should not
modify str here. It's easy- save old-index, new-index, and get Copy(n1,
n2-n1{+delta}).

Premature optimization.
File IO is orders of magnitude slower that iteration over a string.


+1



--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] FileUtil.FindAllFiles - changes strings inside

2020-09-21 Thread Bart via lazarus
On Mon, Sep 21, 2020 at 12:19 AM AlexeyT via lazarus
 wrote:

> you see that to iterate over all items in char-separated ASearchPath,
> code modifies str, ie deletes parts of it. It's slow! We should not
> modify str here. It's easy- save old-index, new-index, and get Copy(n1,
> n2-n1{+delta}).

Premature optimization.
File IO is orders of magnitude slower that iteration over a string.

-- 
Bart
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


[Lazarus] FileUtil.FindAllFiles - changes strings inside

2020-09-20 Thread AlexeyT via lazarus

procedure TFileSearcher.Search(ASearchPath: String; ASearchMask: String;
  ASearchSubDirs: Boolean; CaseSensitive: Boolean = False);

    while ASearchPath<>'' do begin
  p:=Pos(FPathSeparator,ASearchPath);
  if p<1 then
    p:=length(ASearchPath)+1;
  Dir:=ResolveDots(LeftStr(ASearchPath,p-1));
  Delete(ASearchPath,1,p);


you see that to iterate over all items in char-separated ASearchPath, 
code modifies str, ie deletes parts of it. It's slow! We should not 
modify str here. It's easy- save old-index, new-index, and get Copy(n1, 
n2-n1{+delta}).


Didn't see why ASearchMask is not "const", maybe same bad.

Alexey Torgashin

--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus