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