Re: Why is it
Re: Why is it
- Subject: Re: Why is it
- From: Christopher Nebel <email@hidden>
- Date: Tue, 29 Jan 2008 17:32:01 -0800
On Jan 29, 2008, at 3:42 PM, has wrote:
On 29 Jan 2008, at 22:03, Christopher Nebel wrote:
On Jan 29, 2008, at 1:00 PM, Michelle Steiner wrote:
This script takes four seconds to complete:
tell application "Finder"
set foo to entire contents of (path to documents folder)
end tell
This script runs almost instantaneously:
tell application "Finder"
set foo to entire contents of (path to documents folder) as alias
list
end tell
Essentially, because the first one returns a more complicated
result. Finder spends about the same amount of time on both, but
the first returns a list of object specifiers, all of which will be
at least five levels deep, each of which has to be decoded
separately, whereas the second one returns a list of aliases, which
are atomic objects. If you're doing that in Script Editor, there's
the additional expense of displaying the result -- it can slow way
down when you throw a lot of styled text at it.
Nope, Finder definitely takes far, far longer to return a list of
object specifiers than a list of aliases. Try it on a fatter folder,
e.g. a typical ~/Library folder of 11,000 items: ...
Hm, I think I was looking at the wrong numbers before. Has is
correct, though the reason is basically the same: everyone has to push
more data around for the object specifiers, as opposed to aliases. I
expect the discrepancy gets worse the more items are involved: more
items means more memory, so with enough items, you'll start thrashing.
--Chris Nebel
AppleScript Engineering
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden