On Nov 17, 2006, at 17:55, deivy petrescu wrote:
> On Nov 17, 2006, at 15:54, Paul Berkowitz wrote:
>
>> Perhaps some of you can help out here, or direct me to somewhere I
>> might
>> find an answer, which will probably be in the shell script area.
>>
>
> Paul;
> I do not think you need shell.
> I believe what I propose is a variation of Emmanuel's method, which
> I could not fully remember.
>
> this is the script and below it is the time for a list of 2000 items
> (NOTE: the script uses Smile, "chrono" will not compile without Smile)
>
>
> -- this is texto: 2000 words from 1 to 2000.
> set texto to "1"
> repeat with j from 2 to 2000
> set texto to texto & " " & j
> end repeat
>
> chrono
> set l to every word of texto
> ASTID(return)
> set l to l as text
> ASTID("1234")
> set ind to (count of paragraphs in text item 1 of l)
> set ch to chrono
> ASTID("")
> {ind, ch}
>
> -- {858, 0.173509}
> -- {1, 0.127912}
> -- {1234, 0.12394}
> -- {1234, 0.124827}
> -- {1234, 0.123216}
> -- {1234, 0.123345}
>
> --- here texto is from 1 to 6000
> -- {1234, 0.378821}
> -- {4234, 0.451657}
> -- {4234, 0.413229}
> -- {4234, 0.384776}
>
> on ASTID(k)
> set AppleScript's text item delimiters to k
> end ASTID
>
Oooops! My bad, after I sent I noticed that my chrono was misplaced,
the method is much faster than what i wrote, it returns the index of
an item in a 6000 items list in less than 1/100 of a second.
The time above also computes the time it takes to create a 6000 items
list.
Deivy
|