Reverse a list

Mike Bonner bonnmike at gmail.com
Sun Feb 8 23:26:32 CET 2015


Ok, last part and I'll shut up. On 100k lines, not passing the text itself
back and forth to the reverse sort saves about 50 millisec on my system.


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

> 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