>>>? [$], SECONDS()-m1 && 0.045 >>>? [OCCURS], SECONDS()-m1 && 0.284 >>>>>>
>>>CLEAR >>>CREATE CURSOR crsTest (MyMemo M) >>>APPEND BLANK >>>REPLACE MyMemo WITH REPLICATE([A],16000000)+[ My String] >>>DIMENSION atests[5] >>>atests[1] = [aaa = AT("My String", MyMemo)] >>>atests[2] = [aaa = RAT("My String", MyMemo)] >>>atests[3] = [aaa = "My String" $ MyMemo] >>>atests[4] = [aaa = OCCURS("My String", MyMemo)] >>>atests[5] = [SELECT * FROM crsTest WHERE MyMemo LIKE "%My String%" INTO CURSOR aaa] >>>RAND(-1) >>>CREATE CURSOR Passed (Num I) >>>INDEX ON Num TAG Passed >>>SELECT crsTest >>>DO WHILE .t. >>> lnRandom = INT(RAND()*10000000 % 5 + 1) >>> IF NOT SEEK(lnRandom,[Passed]) >>> DoTest(lnRandom) >>> INSERT INTO Passed VALUES (lnRandom) >>> IF RECCOUNT([Passed]) > 4 >>> EXIT >>> ENDIF >>> ENDIF >>>ENDDO >>> >>>FUNCTION DoTest(lnNumber) >>> lcTest = atests[lnNumber] >>> m1 = SECONDS() >>> &lcTest >>> ? lcTest, SECONDS()-m1 >>>RETURN >>>>>>When I start it several times the [$] almost always has the same value 0.045-0.046, the rest vary from 0.045 to 0.980.
>CLEAR >CREATE CURSOR crsTest (MyMemo M) >APPEND BLANK >REPLACE MyMemo WITH REPLICATE([A],8000000)+[ My String]+REPLICATE([A],8000000) >DIMENSION atests[5] >atests[1] = [aaa = AT("My String", MyMemo)] >atests[2] = [aaa = RAT("My String", MyMemo)] >atests[3] = [aaa = "My String" $ MyMemo] >atests[4] = [aaa = OCCURS("My String", MyMemo)] >atests[5] = [SELECT * FROM crsTest WHERE MyMemo LIKE "%My String%" INTO CURSOR aaa] >RAND(-1) >FOR lnFOr = 1 TO 10 > CREATE CURSOR Passed (Num I) > INDEX ON Num TAG Passed > SELECT crsTest > DO WHILE .t. > lnRandom = INT(RAND()*10000000 % 5 + 1) > IF NOT SEEK(lnRandom,[Passed]) > DoTest(lnRandom) > INSERT INTO Passed VALUES (lnRandom) > IF RECCOUNT([Passed]) > 4 > EXIT > ENDIF > ENDIF > ENDDO > ? >NEXT > >FUNCTION DoTest(lnNumber) > lcTest = atests[lnNumber] > m1 = SECONDS() > &lcTest > ? lcTest, SECONDS()-m1 >RETURN >>