Clear All Close All Release All Create Cursor Bench (nField N(2)) For t=0 to 99 Insert into Bench Value (m.t) Endfor Index On nField Tag nField Set Talk off Set Notify off Set Optimize On DoTest() Set Optimize Off DoTest() Procedure DoTest Local lnStart, lnCount lnStart = Seconds() For lnCount=1 to 50000 Locate for nField = 50 Endfor ? Seconds() - m.lnStart EndProcThe optimized version is constantly between 10% and 20% faster than the non-optimized LOCATE. Since this is a cursor, all the possible conflicts that force VFP to reread the index nodes can't occur.