A little slow out of the blocks but maybe useful to someone anyway:
For lists up to a certain size, doing the arithmetic using whole lists
instead of individual elements is faster. On my machine, the first
method is _way_ faster on lists with 500 or fewer items, and roughly 10%
faster on lists of 10000 items.
global gPointList
on makelist howMany
gPointList =[]
repeat with x = 1 to howMany
gPointList.add(point(random(100),random(100)))
end repeat
end
on test
kount = gPointList.count -- The list of known points
thePoint = point(10,10) -- the point in question
ms = the milliseconds
testlist = []
repeat with x = 1 to kount
testList.add(thePoint)
end repeat
outlist = gPointList - testList
now = the milliseconds
put now - ms
ms = the milliseconds
testlist = []
repeat with x = 1 to kount
outlist.add(gPointList[x] - thePoint)
end repeat
now = the milliseconds
put now - ms
end
- Carl
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/lingo-l.cgi To post messages to the list, email
[email protected] (Problems, email [EMAIL PROTECTED]). Lingo-L is for
learning and helping with programming Lingo. Thanks!]