Are you all repeating the LEP in a loop? I am calling SysDoc_Find like this…
vNewFolderPath:=Select folder("Select the the parent folder that contains all documents... ";1) ALL RECORDS([Document]) $size:=Records in selection([Document]) For ($i;1;$size) GOTO SELECTED RECORD([Document];$i) $documentToFind:=[Document]File_Name $pathToDocumentFound:=SysDoc_Find ($documentToFind;vNewFolderPath) End for Do not know how to do a loop like this in the command line. what does it look like? John > On May 16, 2017, at 9:45 AM, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > I’d second that. I just tried it in the command line on a folder with 5,144 > (nested) files and with almost 1,400 results the response was near instant. > > So, I tried this in 15.4 and Mac 10.12.5. > > Basically stripping the convert path stuff because I was passing in the full > path and those commands messed it up. Also, unquoted the file name. > > But then point is, it was instant. > > > //Method: SysDoc_Find > C_TEXT($searchFor;$1;$searchIn;$2;$pathFound;$0) > $searchFor:=$1 > $searchIn:=$2 > > //$searchIn:=Convert path system to POSIX($searchIn) > $_txt_OSASCRIPT:="mdfind -onlyin "+$searchIn+" -name "+$searchFor > $_t_InputStream:="" > $_t_OutputStream:="" > LAUNCH EXTERNAL PROCESS($_txt_OSASCRIPT;$_t_InputStream;$pathFound) > > //If ($pathFound#"") > //$pathFound:=Replace string(Convert path POSIX to > system($pathFound);"\n";””) > > // //Note: This is the code I ran for my tests. It is not complete as LEP > is actually returning a list of paths to all the documents found with the > same name. > // //For my test I knew that there would only be one path found so I > eliminated anything unnecessary > // //My SysDoc_Find method actually converts pathFound to a process array, > and returns the first element in the array. The caller can then either use > the returned path or the array. > // //Also, be aware that $pathFound ends with a \n. So the last element of > the array may need to be deleted. My text to array method returns an empty > last element. > > //End if > $0:=$pathFound > >> On May 16, 2017, at 12:32 PM, Jeffrey Kain via 4D_Tech >> <4d_tech@lists.4d.com> wrote: >> >> Which version of 4D are you using? Some versions have a bug in LEP that >> causes them to use 100% of the CPU when they are waiting for the result, >> thus drastically slowing everything down. >> >> If you repeat it from the command line instead from inside 4D, what happens? >> >> -- >> Jeffrey Kain >> jeffrey.k...@gmail.com >> >>> On May 16, 2017, at 3:26 PM, John Baughman via 4D_Tech >>> <4d_tech@lists.4d.com> wrote: >>> >>> Interestingly this is way slower than crawling through the directories. >>> Using my SearchFolderContents_Jut method which I posted in my original >>> message it takes about 35 seconds to find 526 documents in a folder where >>> the documents are at most nested 3 folders deep. Using LEP to search the >>> same 526 documents takes almost 3 minutes! >> >> ********************************************************************** >> 4D Internet Users Group (4D iNUG) >> FAQ: http://lists.4d.com/faqnug.html >> Archive: http://lists.4d.com/archives.html >> Options: http://lists.4d.com/mailman/options/4d_tech >> Unsub: mailto:4d_tech-unsubscr...@lists.4d.com >> ********************************************************************** > > ********************************************************************** > 4D Internet Users Group (4D iNUG) > FAQ: http://lists.4d.com/faqnug.html > Archive: http://lists.4d.com/archives.html > Options: http://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > ********************************************************************** ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************