Min function
Thierry Douez
th.douez at gmail.com
Sun Feb 28 07:52:26 EST 2016
2016-02-28 13:01 GMT+01:00 Terence Heaford <t.heaford at icloud.com>:
> Thanks,
>
> That is a good solution which will also apply to Max.
>
> I just thought that anything that can be rolled into the engine would be
> faster and
> usually every tick/millisecond that can be gained is worth having in an
> interpreted language.
>
>
>
Well, as I don't know your context,
I'm not sure if speed is really a problem here?
Anyway, you make me feel curious about this,
and I've checked the speed against 3 variants.
First, I generated 2 lists of numbers.
repeat with i=1 to 1000
get random( 1000)
put IT & cr after LinesOfNumbers
put IT & comma after OneLineOfNumbers
end repeat
delete last char of LinesOfNumbers
delete last char of OneLineOfNumbers
Then, run:
put 100 into nRepeat
put the milliseconds into _ct
-- case 1
repeat nRepeat
put min( replaceText( LinesOfNumbers, return,comma)) into min1
end repeat
put (the milliseconds - _ct) / nRepeat into timing1
wait 1 ticks with messages
put the milliseconds into _ct
-- case 2
repeat nRepeat
replace return with comma in LinesOfNumbers
put min( LinesOfNumbers) into min2
end repeat
put (the milliseconds - _ct) / nRepeat into timing2
wait 1 ticks with messages
put the milliseconds into _ct
-- case 3
repeat nRepeat
put min( OneLineOfNumbers) into min3
end repeat
put (the milliseconds - _ct) / nRepeat into timing3
answer format( "Done in %.2f - %.2f - %.2f /%s", timing1, timing2,
timing3, min1 is min2)
Trying it few times for a list of 1000 items,
we have the winner which obviously is case 3: 1,47 ms
case 1 is 1,85 ms and case 2 is 4,5 ms.
Increase the number of items to 10000,
then you'll see much more distant results.
But now, if you 're working with a list of 10 items,
it really doesn't matter as the result are:
0,07 0,04, 0,03 ms
Hope you find this interesting.
Thierry
> > Thierry Douez <th.douez at gmail.com> wrote:
> >
> > What about this?
> >
> > return min( replaceText( myListOfNumbers, "\n",comma))
> >
> >
> > 2016-02-28 12:05 GMT+01:00 Terence Heaford <t.heaford at icloud.com>:
> >
> >>
> >> I thought Min may work with the itemDelimiter but apparently not.
> >>
> >> Is that something that would be useful?
> >>
> >> set the itemDelimiter to return
> >>
> >> return Min (myListOfNumbers) — based on return not comma
>
-
-
------------------------------------------------
Thierry Douez - http://sunny-tdz.com
sunnYrex - sunnYtext2speech - sunnYperl - sunnYmidi - sunnYmage
More information about the use-livecode
mailing list