RE: [U2] REMOVE results as promised.
Mark, Post your test program so we know the test will be exactly the same. I posted that I found substring assignment to be very fast (under one second) yet your test showed it as taking over 8 minutes. I suspect that this is not simply a platform difference, but rather the tests we used were significantly different. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Mark Johnson Sent: Sunday, August 28, 2005 7:15 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] REMOVE results as promised. Has anyone tested my reported D3 best method (DIM A(5) on another system? All of the alternate replies have been one or 2 tests on diverse systems. All 9 tests should be done on the same system to get relativity. My 1 cent. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] REMOVE results as promised.
I believe I covered this test with its relative results. Fortunately the system was slow enough to cause differences in the tests. If you are coming up with different (shorter) times, then you're missing the point. All tests need to be done on the same system. The fastest one was still the DIM A(5). My 1 cent. - Original Message - From: Piers Angliss [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, August 22, 2005 8:51 AM Subject: RE: [U2] REMOVE results as promised. Not that it seems to matter these days but both this method and the ..-1 notation (which is an implicit form of the same thing) could be said to be needlessly evaluating whether or not A is null 49,999 times. An alternative would be : A = 1 FOR I = 2 TO 5 A := @VM : I NEXT I I also found (many years ago) that :- A = '' FOR I = 1 TO 5 A:= @VM : I NEXT I DEL A1,1,0 or A = A[2,99] was faster than repeatedly testing whether A was null Piers -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Dzevad Dizdar Sent: Monday, August 22, 2005 05:27 To: u2-users@listserver.u2ug.org Subject: Re: [U2] REMOVE results as promised. Hi Mark, There is another fast method to consider A= FOR I=1 TO 5 IF A = THEN A := I END ELSE A := @VM : I END NEXT I It will take less then 1 second to finish on our system. Dzevad --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] REMOVE results as promised.
Has anyone tested my reported D3 best method (DIM A(5) on another system? All of the alternate replies have been one or 2 tests on diverse systems. All 9 tests should be done on the same system to get relativity. My 1 cent. - Original Message - From: Rex Gozar [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, August 22, 2005 10:11 AM Subject: RE: [U2] REMOVE results as promised. My results were different. Substring assignment is very fast, but not as fast as -1 and CONVERT. *** * substring assignment *** STIME = TIME() ITEM = SPACE(99) PTR = 0 FOR J = 1 TO 5 L = LEN(J)+1 ITEM[1+PTR,L] = J:@VM PTR += L NEXT J ITEM = ITEM[1,PTR-1] ETIME = TIME() - STIME DISPLAY ETIME ; * 0.141 seconds FAST! *** * field append *** STIME = TIME() ITEM = FOR J = 1 TO 5 ITEM-1 = J NEXT J CONVERT @FM TO @VM IN ITEM ETIME = TIME() - STIME DISPLAY ETIME ; * 0.062 seconds FASTER! *** * value append *** STIME = TIME() ITEM = FOR J = 1 TO 5 ITEM1,-1 = J NEXT J ETIME = TIME() - STIME DISPLAY ETIME ; * 72.5 seconds UGH! END --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] REMOVE results as promised.
I believe MCD. I'll test the next time I visit this client. - Original Message - From: [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, August 22, 2005 9:02 AM Subject: RE: [U2] REMOVE results as promised. Which platforms don't support system(11)? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dzevad Dizdar Sent: Monday, August 22, 2005 12:27 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] REMOVE results as promised. Hi Mark, There is another fast method to consider A= FOR I=1 TO 5 IF A = THEN A := I END ELSE A := @VM : I END NEXT I It will take less then 1 second to finish on our system. Dzevad - Original Message - From: Mark Johnson [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Sunday, August 21, 2005 12:27 PM Subject: [U2] REMOVE results as promised. As promised, here are the results of 9 different methods of appending. Basically program went like this: A= FOR I=1 TO 5 A1,-1=I NEXT I Style 1: 1,-1 straight...1 minute, 29 seconds Style 2: -1 attribute level then CONVERT to 253...41 seconds Style 3: DIM(50,000), MATWRITE, READ CONVERT.2 seconds Style 4: DIM(50,000), then assign to variable and CONVERT to 2531 second Style 5: Target = null, [] replacing40 seconds Style 6: Target=Space(100), [] replacing then TRIM8 minutes, 55 seconds. Style 7: Append, VM assigned inside loop..41 seconds Style 8: Append, VM assigned outside loop then remove last..34 seconds. Style 9: 1,MV with MV+=MV as pointer.1 minute, 28 seconds 60 user D3 system on W2000 during normal business day. It appears that Styles 3 4 escaped the suggestions and rose to the top. Apparently the CONVERT (or RAISE/LOWER) functions are pretty quick. The DIM is incredibly quick. I learned a lot and hope others can as well. Thanks for everyone's suggestions. Mark Johnson If anyone wants further coding for any of the styles then don't hestitate to ask. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] REMOVE results as promised.
Thanks for the thanks. Mark Johnson I'm curious of the DIM A(5) method on other platforms. I dare not try it on my Microdata clients. - Original Message - From: Tom Dodds [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, August 22, 2005 11:31 AM Subject: RE: [U2] REMOVE results as promised. Thanks Mark. Great job. You can satisfy some of the people some of the time but you can never satisfy all of the people all of the time. This obviously took some time to do and I appreciate the effort. Tom Dodds [EMAIL PROTECTED] 630-235-2975 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Johnson Sent: Sunday, August 21, 2005 11:28 AM To: u2-users@listserver.u2ug.org Subject: [U2] REMOVE results as promised. As promised, here are the results of 9 different methods of appending. Basically program went like this: A= FOR I=1 TO 5 A1,-1=I NEXT I Style 1: 1,-1 straight...1 minute, 29 seconds Style 2: -1 attribute level then CONVERT to 253...41 seconds Style 3: DIM(50,000), MATWRITE, READ CONVERT.2 seconds Style 4: DIM(50,000), then assign to variable and CONVERT to 2531 second Style 5: Target = null, [] replacing40 seconds Style 6: Target=Space(100), [] replacing then TRIM8 minutes, 55 seconds. Style 7: Append, VM assigned inside loop..41 seconds Style 8: Append, VM assigned outside loop then remove last..34 seconds. Style 9: 1,MV with MV+=MV as pointer.1 minute, 28 seconds 60 user D3 system on W2000 during normal business day. It appears that Styles 3 4 escaped the suggestions and rose to the top. Apparently the CONVERT (or RAISE/LOWER) functions are pretty quick. The DIM is incredibly quick. I learned a lot and hope others can as well. Thanks for everyone's suggestions. Mark Johnson If anyone wants further coding for any of the styles then don't hestitate to ask. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] REMOVE results as promised.
I tried that method (styles 7 8) and got a longer time. Perhaps my test system isn't as fast (workload?) and as such, allowed the differences to be more pronounced. Here's my fastest version DIM A(5) ; MAT A= FOR I=1 TO 5 A(I)=I NEXT I B=A CONVERT 254 TO 253 IN B ;* LOWER (sic) Your method has 5 (49,999) extraneous IF statements that I would have considered detrimental. I'll try it verbatim on the same system and get back to you. In case anyone cares about the system's workload, I tried each test several times in an out of sequence to post their average times. It ain't a virtual memory issue like years (decades) ago. Thanks. - Original Message - From: Dzevad Dizdar [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, August 22, 2005 12:27 AM Subject: Re: [U2] REMOVE results as promised. Hi Mark, There is another fast method to consider A= FOR I=1 TO 5 IF A = THEN A := I END ELSE A := @VM : I END NEXT I It will take less then 1 second to finish on our system. Dzevad - Original Message - From: Mark Johnson [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Sunday, August 21, 2005 12:27 PM Subject: [U2] REMOVE results as promised. As promised, here are the results of 9 different methods of appending. Basically program went like this: A= FOR I=1 TO 5 A1,-1=I NEXT I Style 1: 1,-1 straight...1 minute, 29 seconds Style 2: -1 attribute level then CONVERT to 253...41 seconds Style 3: DIM(50,000), MATWRITE, READ CONVERT.2 seconds Style 4: DIM(50,000), then assign to variable and CONVERT to 2531 second Style 5: Target = null, [] replacing40 seconds Style 6: Target=Space(100), [] replacing then TRIM8 minutes, 55 seconds. Style 7: Append, VM assigned inside loop..41 seconds Style 8: Append, VM assigned outside loop then remove last..34 seconds. Style 9: 1,MV with MV+=MV as pointer.1 minute, 28 seconds 60 user D3 system on W2000 during normal business day. It appears that Styles 3 4 escaped the suggestions and rose to the top. Apparently the CONVERT (or RAISE/LOWER) functions are pretty quick. The DIM is incredibly quick. I learned a lot and hope others can as well. Thanks for everyone's suggestions. Mark Johnson If anyone wants further coding for any of the styles then don't hestitate to ask. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] REMOVE results as promised.
Not that it seems to matter these days but both this method and the ..-1 notation (which is an implicit form of the same thing) could be said to be needlessly evaluating whether or not A is null 49,999 times. An alternative would be : A = 1 FOR I = 2 TO 5 A := @VM : I NEXT I I also found (many years ago) that :- A = '' FOR I = 1 TO 5 A:= @VM : I NEXT I DEL A1,1,0 or A = A[2,99] was faster than repeatedly testing whether A was null Piers -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Dzevad Dizdar Sent: Monday, August 22, 2005 05:27 To: u2-users@listserver.u2ug.org Subject: Re: [U2] REMOVE results as promised. Hi Mark, There is another fast method to consider A= FOR I=1 TO 5 IF A = THEN A := I END ELSE A := @VM : I END NEXT I It will take less then 1 second to finish on our system. Dzevad --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] REMOVE results as promised.
Which platforms don't support system(11)? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dzevad Dizdar Sent: Monday, August 22, 2005 12:27 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] REMOVE results as promised. Hi Mark, There is another fast method to consider A= FOR I=1 TO 5 IF A = THEN A := I END ELSE A := @VM : I END NEXT I It will take less then 1 second to finish on our system. Dzevad - Original Message - From: Mark Johnson [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Sunday, August 21, 2005 12:27 PM Subject: [U2] REMOVE results as promised. As promised, here are the results of 9 different methods of appending. Basically program went like this: A= FOR I=1 TO 5 A1,-1=I NEXT I Style 1: 1,-1 straight...1 minute, 29 seconds Style 2: -1 attribute level then CONVERT to 253...41 seconds Style 3: DIM(50,000), MATWRITE, READ CONVERT.2 seconds Style 4: DIM(50,000), then assign to variable and CONVERT to 2531 second Style 5: Target = null, [] replacing40 seconds Style 6: Target=Space(100), [] replacing then TRIM8 minutes, 55 seconds. Style 7: Append, VM assigned inside loop..41 seconds Style 8: Append, VM assigned outside loop then remove last..34 seconds. Style 9: 1,MV with MV+=MV as pointer.1 minute, 28 seconds 60 user D3 system on W2000 during normal business day. It appears that Styles 3 4 escaped the suggestions and rose to the top. Apparently the CONVERT (or RAISE/LOWER) functions are pretty quick. The DIM is incredibly quick. I learned a lot and hope others can as well. Thanks for everyone's suggestions. Mark Johnson If anyone wants further coding for any of the styles then don't hestitate to ask. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] REMOVE results as promised.
My results were different. Substring assignment is very fast, but not as fast as -1 and CONVERT. *** * substring assignment *** STIME = TIME() ITEM = SPACE(99) PTR = 0 FOR J = 1 TO 5 L = LEN(J)+1 ITEM[1+PTR,L] = J:@VM PTR += L NEXT J ITEM = ITEM[1,PTR-1] ETIME = TIME() - STIME DISPLAY ETIME ; * 0.141 seconds FAST! *** * field append *** STIME = TIME() ITEM = FOR J = 1 TO 5 ITEM-1 = J NEXT J CONVERT @FM TO @VM IN ITEM ETIME = TIME() - STIME DISPLAY ETIME ; * 0.062 seconds FASTER! *** * value append *** STIME = TIME() ITEM = FOR J = 1 TO 5 ITEM1,-1 = J NEXT J ETIME = TIME() - STIME DISPLAY ETIME ; * 72.5 seconds UGH! END --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] REMOVE results as promised.
Thanks Mark. Great job. You can satisfy some of the people some of the time but you can never satisfy all of the people all of the time. This obviously took some time to do and I appreciate the effort. Tom Dodds [EMAIL PROTECTED] 630-235-2975 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Johnson Sent: Sunday, August 21, 2005 11:28 AM To: u2-users@listserver.u2ug.org Subject: [U2] REMOVE results as promised. As promised, here are the results of 9 different methods of appending. Basically program went like this: A= FOR I=1 TO 5 A1,-1=I NEXT I Style 1: 1,-1 straight...1 minute, 29 seconds Style 2: -1 attribute level then CONVERT to 253...41 seconds Style 3: DIM(50,000), MATWRITE, READ CONVERT.2 seconds Style 4: DIM(50,000), then assign to variable and CONVERT to 2531 second Style 5: Target = null, [] replacing40 seconds Style 6: Target=Space(100), [] replacing then TRIM8 minutes, 55 seconds. Style 7: Append, VM assigned inside loop..41 seconds Style 8: Append, VM assigned outside loop then remove last..34 seconds. Style 9: 1,MV with MV+=MV as pointer.1 minute, 28 seconds 60 user D3 system on W2000 during normal business day. It appears that Styles 3 4 escaped the suggestions and rose to the top. Apparently the CONVERT (or RAISE/LOWER) functions are pretty quick. The DIM is incredibly quick. I learned a lot and hope others can as well. Thanks for everyone's suggestions. Mark Johnson If anyone wants further coding for any of the styles then don't hestitate to ask. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] REMOVE results as promised.
Hey, the evaluation of various methods is great, it would be even greater if the folks doing the evaluating would let us know what sort of hardware. One poster mentioned a laptop, that's good info. The original guy mentions a production system that is in use, that's good too. But, it would be much more useful if we had the make model and os specs for the machines. After all, these days it's not too hard to buy some honkin hardware that will mostly mask sloppy or inefficient programs. Just a suggestion though, don't get all worked up over it... --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] REMOVE results as promised.
Remember, folks, that you don't have to start with 1 in a FOR-NEXT loop. A=1 FOR I = 2 TO 5 A := @VM:I NEXT I Just a peanut from the gallery being thrown. smile BobW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dzevad Dizdar Sent: Sunday, August 21, 2005 9:27 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] REMOVE results as promised. Hi Mark, There is another fast method to consider A= FOR I=1 TO 5 IF A = THEN A := I END ELSE A := @VM : I END NEXT I It will take less then 1 second to finish on our system. Dzevad - Original Message - From: Mark Johnson [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Sunday, August 21, 2005 12:27 PM Subject: [U2] REMOVE results as promised. As promised, here are the results of 9 different methods of appending. Basically program went like this: A= FOR I=1 TO 5 A1,-1=I NEXT I Style 1: 1,-1 straight...1 minute, 29 seconds Style 2: -1 attribute level then CONVERT to 253...41 seconds Style 3: DIM(50,000), MATWRITE, READ CONVERT.2 seconds Style 4: DIM(50,000), then assign to variable and CONVERT to 2531 second Style 5: Target = null, [] replacing40 seconds Style 6: Target=Space(100), [] replacing then TRIM8 minutes, 55 seconds. Style 7: Append, VM assigned inside loop..41 seconds Style 8: Append, VM assigned outside loop then remove last..34 seconds. Style 9: 1,MV with MV+=MV as pointer.1 minute, 28 seconds 60 user D3 system on W2000 during normal business day. It appears that Styles 3 4 escaped the suggestions and rose to the top. Apparently the CONVERT (or RAISE/LOWER) functions are pretty quick. The DIM is incredibly quick. I learned a lot and hope others can as well. Thanks for everyone's suggestions. Mark Johnson If anyone wants further coding for any of the styles then don't hestitate to ask. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] REMOVE results as promised.
Hi Mark, There is another fast method to consider A= FOR I=1 TO 5 IF A = THEN A := I END ELSE A := @VM : I END NEXT I It will take less then 1 second to finish on our system. Dzevad - Original Message - From: Mark Johnson [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, August 21, 2005 12:27 PM Subject: [U2] REMOVE results as promised. As promised, here are the results of 9 different methods of appending. Basically program went like this: A= FOR I=1 TO 5 A1,-1=I NEXT I Style 1: 1,-1 straight...1 minute, 29 seconds Style 2: -1 attribute level then CONVERT to 253...41 seconds Style 3: DIM(50,000), MATWRITE, READ CONVERT.2 seconds Style 4: DIM(50,000), then assign to variable and CONVERT to 2531 second Style 5: Target = null, [] replacing40 seconds Style 6: Target=Space(100), [] replacing then TRIM8 minutes, 55 seconds. Style 7: Append, VM assigned inside loop..41 seconds Style 8: Append, VM assigned outside loop then remove last..34 seconds. Style 9: 1,MV with MV+=MV as pointer.1 minute, 28 seconds 60 user D3 system on W2000 during normal business day. It appears that Styles 3 4 escaped the suggestions and rose to the top. Apparently the CONVERT (or RAISE/LOWER) functions are pretty quick. The DIM is incredibly quick. I learned a lot and hope others can as well. Thanks for everyone's suggestions. Mark Johnson If anyone wants further coding for any of the styles then don't hestitate to ask. --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/