Todd,
To piggyback of George's reply. If you happen to be using something besides VFP6 SP3
(yes folks this age old bug seems to be fixed by SP3)If you have a subroutine in it's own .prg file that's called LOTS of times, comment out the FUNCTION or PROCEDURE statement. This is one place where good programming practice makes FoxPro performance suck.
Test this to see just how dramatic it is:
x = seconds()
for i = 1 to 100000
TestSlow(i)
endfor
? seconds() - x
x = seconds()
for i = 1 to 100000
TestFast(i)
endfor
? seconds() - x
* testslow.prg
function TestSlow
lparameter pnArgument
return .t.
* testfast.prg
*function TestSlow()
lparameters pnArgument
return .t.
In VFP5 there's a 7 to 1 performance improvement. In VFP6 SP3 the performance difference isn't really measureable.
>I am running a program that takes about 5.5 hours... and any little thing I can do to speed it up is worthwhile.