Re: How to speed up execution time of this script
Re: How to speed up execution time of this script
- Subject: Re: How to speed up execution time of this script
- From: Thomas Fischer <email@hidden>
- Date: Mon, 9 Aug 2010 16:32:23 +0200
Hello,
this is a clever and interesting approach.
To catch a possible hit at the start, you should probably use
set ma_liste to {""} & {"456_abc","3123_aze", "456_fg", "3123_aza", "456_fgz", "3123_azes", "456_fgn", "3123_azex", "456_fsg"}
Thomas Fischer
>
> Le 9 août 2010 à 14:10, Bert Groeneveld a écrit :
>
>> -- Hope that someone can help speeding up the execution time of the following (part of) my script
>> -- The execution time is acceptable as long as there are no more than let's say 500 pictures in the the_ImagePath_folder
>> -- Unfortunately, the fact is that I have more than 10000 pictures inside the_ImagePath_folder
>> -- What I want to achieve is getting a list of only those filenames (inside the_ImagePath_folder) that start with a given article number
>>
>> -- This is what I have right now and executes much much much too slow:
>> tell application "Finder"
>> set the_ImagePath_folder to alias "Macintosh HD:Applescript:Giving:SpreadTool:HiRes_Images local:" -- a folder that contains 10000 images
>> set all_the_Hires_Images to name of every file of the_ImagePath_folder --max 20 secs execution time if the_ImagePath_folder contains 10000 images (this is very acceptable since I run this part of the script only once.)
>> end tell
>>
>> -- Now the time consuming part for which I badly need help:
>> set articleNumber to "6615"
>> set foundImageNames to {}
>> repeat with Image_Name in my all_the_Hires_Images
>> if Image_Name starts with articleNumber then
>> set foundImageNames to foundImageNames & Image_Name
>> end if
>> end repeat
>>
>
> Here is the way I do that in plain vanilla:
>
> set ma_liste to {"3123_aze", "456_fg", "3123_aza", "456_fgz", "3123_azes", "456_fgn", "3123_azex", "456_fsg"}
>
> set my_1st_delim to "|¬|"
> set liste_en_texte to my recolle(ma_liste, my_1st_delim)
> set beg to "456"
> set my_2nd_delim to my_1st_delim & beg
> set en_liste to items 2 thru -1 of my decoupe(liste_en_texte, my_2nd_delim)
>
> repeat with un_objet in en_liste
> set vraie_chaine to beg & item 1 of my decoupe(un_objet, my_1st_delim)
> -- log vraie_chaine
> -- do your duty with it
>
> end repeat
>
> --=====
>
> on decoupe(t, d)
> local oTIDs, l
> set oTIDs to AppleScript's text item delimiters
> set AppleScript's text item delimiters to d
> set l to text items of t
> set AppleScript's text item delimiters to oTIDs
> return l
> end decoupe
>
> --=====
>
> on recolle(l, d)
> local oTIDs, l
> set oTIDs to AppleScript's text item delimiters
> set AppleScript's text item delimiters to d
> set t to l as text
> set AppleScript's text item delimiters to oTIDs
> return t
> end recolle
>
> --=====
>
> Yvan KOENIG (VALLAURIS, France) lundi 9 août 2010 14:55:57
>
>
>
>
> _______________________________________________
> 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
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
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