clear _Screen.LockScreen = .t. _vfp.Autoyield = .f. clear all release all use inv t = 0 pnx = 7 starttime = seconds() for i=1 to 5000000 t = pnx * (-1) endfor ?"pnx * (-1) = " + str(seconds() - starttime, 8, 4) clear all release all use inv t = 0 pnx = 7 starttime = seconds() for i=1 to 5000000 t = 0 - pnx endfor ?"0 - pnx = " + str(seconds() - starttime, 8, 4) clear all release all use inv t = 0 pnx = 7 starttime = seconds() for m.i=1 to 5000000 t = m.pnx * (-1) endfor ?"m.pnx * (-1) = " + str(seconds() - starttime, 8, 4) clear all release all use inv t = 0 pnx = 7 starttime = seconds() for m.i=1 to 5000000 t = 0 - m.pnx endfor ?"0 - m.pnx = " + str(seconds() - starttime, 8, 4) clear all release all use inv t = 0 pnx = 7 starttime = seconds() for i=1 to 5000000 store pnx * (-1) to t endfor ?"store pnx * (-1) to t = " + str(seconds() - starttime, 8, 4) clear all release all use inv t = 0 pnx = 7 starttime = seconds() for i=1 to 5000000 store 0 - pnx to t endfor ?"store 0 - pnx to t = " + str(seconds() - starttime, 8, 4) clear all release all use inv t = 0 pnx = 7 starttime = seconds() for m.i=1 to 5000000 store m.pnx * (-1) to t endfor ?"store m.pnx * (-1) to t = " + str(seconds() - starttime, 8, 4) clear all release all use inv t = 0 pnx = 7 starttime = seconds() for m.i=1 to 5000000 store 0 - m.pnx to t endfor ?"store 0 - m.pnx to t = " + str(seconds() - starttime, 8, 4) _Screen.LockScreen = .f. _vfp.Autoyield = .t.>Same to me, may be its time to change to the new old-fashioned stuffs. It would be interesting to see what David F. say about it (he's the king of speed testing to me)