Re: applescript-users digest, Vol 2 #1120 - 12 msgs
Re: applescript-users digest, Vol 2 #1120 - 12 msgs
- Subject: Re: applescript-users digest, Vol 2 #1120 - 12 msgs
- From: has <email@hidden>
- Date: Thu, 27 Sep 2001 19:20:25 +0100
>
(Warning: this message contains hexa. People who have already in the past
>
observed troubles reading hexa may want to skip this message.)
Pah! I am a Smile user: your hexa doesn't scare me! :)
(Tip: Smile includes hexa conversion scripts, amongst other things.)
>
At 11:46 +0200 26/09/01, Serge Belleudy-d'Espinose wrote:
>
>
>I've just completed a brute force quick sort handler, and I am amazed at
>
>how fast it can be compared to anything else. Did anyone else work on more
>
>or less the same thing?
>
>
At the time of the previous thread on this topic, we have developped a
>
still faster (plain AppleScript) sort algorithm, specifically for
>
AppleScript.
>
>
"specifically for AppleScript" means that the algorithm takes into account
>
the particular way AS accesses lists with respect to other programming
>
languages (details: lists can contain elements of various sizes, so to
>
access 'item n' AS has really to perform n accesses, whereas in usual
>
programming language 'item n' is really one access).
>
>
Our new 'sort' is faster than all algorithms we know, and furthermore it is
>
more independent on the order of the input list.
>
>
I post it below as hexa. Listees interested in a directly usable script can
>
ask me privately of course. (I'll send them the 'Hexa to string' script :-)
I remember this. It's a very nice recursive sort, and fast too. (Only
disadvantage with recursive sorts is that they can break if the list being
sorted is very large.)
Arthur's class deletion sort was also pretty nice; not as fast as the
recursive one in my tests, but safe for very large sorts. I sent him some
code that speeded up the insertion part significantly, but afaik he doesn't
seem to have gotten around to posting a finished version. (Might be worth
mailing him to see where it's gotten to.:)
Akua Sweets' sort is also very nice as it has lots of options, e.g. sorting
lists of lists, removal of duplicates (and one or two I've never managed to
figure out, such as synchronise). Although both the above vanilla methods
seem to be faster than the AkSw sort for simple lists (AkSw's 68K code is
probably to blame here).
has