General information
Category:
Coding, syntax & commands
>>>>>>If I had 1000 values that I need to loop through (visit every node sequentially, not skip around) that needed very fast processing and they do not need disk storage... which would be faster... an array or a cursor?
>>>>>
>>>>>Cursor.
>>>>>
>>>>Wow really? I've never done any testing, but I assumed the array would be faster. I suppose a quick test with the coverage profiler would tell us for sure.
>>>>
>>>Tables are fastest
>>
>>I am not so sure here -- in the GKK Comparison tools I have an array that is upto a size of laArray[5000,5000]. This is used for the code comparison algorithm. I tried to use a cursor for this to get rid of the 5000 limit (runs out of memory) and to see if the cursor would be faster than >>the array.
>
>>The array version was considerably faster in performance -- the cursor version was far too slow to be of any value.
>
>I queried Ken Levin on Arrays and he responded that tables were the fastest.
That depends, consider the following using arrays:
IF laArray[lnNdx] = laArray[lnNdx+5]
* do something
ENDIF
Now, using a cursor (assuming that lnNdx is the current record position in the cursor):
lcValue = c_cursor.value
SKIP 5
IF lcValue = c_cursor.value
* do something
ENDIF
It is the relative comparing of array values in the structure that is considerably faster. Having to use SKIP or LOCATE is a lot slower with cursors than being able to direct access via the index.
Previous
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only