Reverse a list

Mike Bonner bonnmike at gmail.com
Sun Feb 8 17:22:28 EST 2015


doh. Same thing you did. *sigh* Except i'm not passing the actual text back
and forth since theres no point. Ignore me. :)

On Sun, Feb 8, 2015 at 3:15 PM, Mike Bonner <bonnmike at gmail.com> wrote:

> Using numeric sort, 100k lines being reversed takes 126 millisec on my
> system.
>
> On Sun, Feb 8, 2015 at 3:13 PM, Mike Bonner <bonnmike at gmail.com> wrote:
>
>> Oops, make sure the sort is numeric, which I forgot.
>>
>> On Sun, Feb 8, 2015 at 3:09 PM, Mike Bonner <bonnmike at gmail.com> wrote:
>>
>>> Just curious.. How does this compare?
>>>
>>> local scount
>>> on mouseUp
>>>    put the number of lines in field 1 + 1 into scount
>>>    sort lines of field 1 by getCount()
>>> end mouseUp
>>>
>>> function getCount
>>>    subtract 1 from sCount
>>>    return sCount
>>> end getCount
>>>
>>> On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay <jacque at hyperactivesw.com
>>> > wrote:
>>>
>>>> Just tinkering around on a lazy Sunday, and I thought I'd come up with
>>>> a neat way to reverse a list without using the traditional clunky method:
>>>>
>>>> function reverseSort pList
>>>>   repeat for each line l in pList
>>>>     put l & cr before tList
>>>>   end repeat
>>>>   return tList
>>>> end reverseSort
>>>>
>>>> One of the best things I learned from a past LC converence came from
>>>> Jerry Daniels who said "let the engine do it." It's almost always faster
>>>> and more efficient. With that in mind I wrote this:
>>>>
>>>> local sNum
>>>>
>>>> function reverseText pList
>>>>   put the number of lines in pList into sNum
>>>>   sort lines of pList numeric by reverseSort(each)
>>>>   return pList
>>>> end reverseText
>>>>
>>>> function reverseSort pTxt
>>>>   subtract 1 from sNum
>>>>   return sNum && pTxt
>>>> end reverseSort
>>>>
>>>> Works great and I was proud. Then I did some timing tests and found out
>>>> the two methods are very close to equivalent in timing, and on long lists,
>>>> the first way is actually faster.
>>>>
>>>> So much for improving on LC's text chunking speed. Pah.
>>>>
>>>> --
>>>> Jacqueline Landman Gay         |     jacque at hyperactivesw.com
>>>> HyperActive Software           |     http://www.hyperactivesw.com
>>>>
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode at lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>
>>>
>>>
>>
>



More information about the use-livecode mailing list