Gå till innehåll
Just nu i M3-nätverket

Långsamt AppleScript på Intel Macarna?


OldMac

Rekommendera Poster

Någonting illavarslande tycks ha hänt med AppleScript i de nya Intel-Macarna? Idag prövade jag de nya Macarna och upptäckte att AppleScript var 7-8 ggr långsammare än i min nuvarande burk!

 

Bakgrund: jag har en av de första G4:orna (i princip en G3:a med G4-CPU). Prestanda: 350 Mhz processor, och 192 Mb RAM; OS X 10.3.9.

 

Skillnaden i grundprestanda mellan min gamla burk och de nya Macarna är som märks stor; till att börja med trodde jag att det var något fel på den MacBook jag prövade i butiken - AppleScriptet gick väldigt långsamt. Men när jag testade en iMac i en annan butik blev resultatet i stort sett detsamma. Ingen av försäljarna i butikerna kunde förklara segheten.

 

Testet gjorde jag på MacBook och iMac (2.0 respektive 1.83 Ghz - 1 Gb respektive 512 Mb RAM) genom att köra detta enkla skript:

 

tell application "Finder"

activate

 

set cd1 to (current date) & return as string

 

repeat 1500 times

 

set cd2 to (current date) as string

 

end repeat

 

set allCd to cd1 & cd2 as string

 

end tell

 

Skriptet hämtar tiden från datorklockan så att start/stopp-tid för skriptets körning anges (repetitionen i skriptet är endast till för att datorn ska få jobba ett tag).

 

På min G4-burk tar skriptet 3-4 sekunder att köra. På Intel-Macarna jag prövade tog skriptet ca 23-25 sekunder att köra (trots att alla andra program var avslutade)!! Är det Tiger som drar oerhört mycket mer processorkraft/minne än i mitt nuvarande 10.3.9? Eller är det någon specialinställning som behöver göras innan AppleScript går att köra inom normala tidsrymder i de nya Macarna?

 

Om ingen här kan svara på detta, vore det intressant om några av läsarna kanske vill testa skriptkoden ovan i sina burkar? Jag är intresserad av få veta hur snabbt koden går att köra på allt från G3 och framåt - både på äldre Macar och Intel-Macar. Antagligen kan jag bli lite klokare på det viset ifråga om vad som är normal skriptköringshastighet i moderna Macar.

 

Jag behöver AppleScript och måste därför vänta att köpa en Intel-Mac innan jag fått klarhet i vad 'sirapssegheten' beror på.

 

Jag hoppas på er hjälp!

 

 

 

 

 

 

:chockadskeptisk:

Länk till kommentar
Dela på andra webbplatser

Tack Zanathel och Piece!

 

Piece test bekräftar logiskt överensstämmande att ökat minne och processorhastighet genererar snabbare AppleScript-körning. Och Zanathel bekräftar mina farhågor: att Intel inte alls fungerar logisk överensstämmande när det gäller AppleScript.

 

Zanathel - förslaget att gå via terminalen låter bra men där slutar mina kunskaper. Menar Du att jag bör aktivera mina AppleScript via terminalen, eller att jag ska skriva Unix-kod för att låta terminalen utföra vad mina AppleScript gör för stunden?

 

Om du syftar på det senare står jag inför problemet att mina skript är så pass komplexa att några enkla kommandon inte kan ersätta dem. Och skripten anropar dessutom ofta Finder för vissa rutiner. Så även om jag startar skripten via Terminal ser jag inte att detta löser någonting. Om du syftar på någonting annat, hoppas jag att du vill förklara.

 

AppleScript är ju ett av Macens säljargument, och inte minst viktig inom områden som media och grafisk industri; områden som ofta är starkt beroende av snabbt dataprocessande. Att AppleScript säckar ihop i prestandan tycker jag därför verkar helt obegripligt? Undrar om det är likadant med MacPro?

Länk till kommentar
Dela på andra webbplatser

Jag testade Zanathels förslag om att starta skriptet från Terminal. Och en förbättring blev det: ca 25% kortare tid att köra det postade testskriptet (jag gick upp till 15000 som repetitionsvärde för att testet skulle bli tydligt utslagsgivande).

 

Men detta löser ändå inte problemet med AS och Intel Mac om inte terminalkörda skript ger en avsevärt mycket bättre tidskapning (runt 10x skulle krävas) vid körning i just Intel Macar. Vilket jag förmodar inte är fallet?

Länk till kommentar
Dela på andra webbplatser

Undrar om det är likadant med MacPro?

402101[/snapback]

Har svårt att tro att situationen är mycket annorlunda. . .

Om en PowerMac G3 exekverar AppleScript snabbare än en dual-core 2.16 GHz monsterdator med 2 GB ram, är något fel.

 

Nästan värt att ringa Apples support om detta - eller i alla fall kontakta dem via ADC. . . :fundersam:

Länk till kommentar
Dela på andra webbplatser

Har svårt att tro att situationen är mycket annorlunda. . .

Om en PowerMac G3 exekverar AppleScript snabbare än en dual-core 2.16 GHz monsterdator med 2 GB ram, är något fel.

 

Nästan värt att ringa Apples support om detta - eller i alla fall kontakta dem via ADC. . .  :fundersam:

402452[/snapback]

 

 

Bra förslag.

 

Jag har så länge mailat MacWorld för att uppmärksamma dem på saken - och kanske de vet någon lösning.

Länk till kommentar
Dela på andra webbplatser

För att kunna komma längre med det här: om ingen av forumläsarna känner till orsaken till det långsamma AppleScriptet i Intel Macarna - intressant vore om någon vill testa att köra skriptet inlagt i trådstarten i en Mac G4-G5 med Tiger. Det behöver ju inte nödvändigtsvis vara hos Intel-processorerna problemet ligger (i testet som 'Piece' bidrog med står tyvärr inte vilket systemprogram som användes), även om jag förstås vill tro att det hade varit känt tidigare om det var Tiger som orsakar att AS går trögt. Men bra vore ändå att kunna utesluta det.

Länk till kommentar
Dela på andra webbplatser

Jag har precis testat på min Dual-G5 2.0GHz med 1.5GB RAM, och scriptet kördes på ca 1 sekund.

Inga problem alltså.

 

En motfråga till den ursprungliga frågeställaren: Kör du scriptet i Manusredigeraren, eller har du provat att spara det som en applikation? Det finns ju en möjlighet att det kompileras till Intel-native först när du skapar applikationen, och att det körs som PPC-kod under Rosetta när du kör det i Manusredigeraren.

 

[edit: jag testade]

 

Jag testade just att spara som en applikation, och den blev Universal Binary i alla fall. Dock kan jag inte testa under Intel, eftersom jag inte har någon. Det som är intressant att testa är om den färdiga applikationen också blir långsam, eller om det bara är långsamt när den körs i Manusredigeraren.

Länk till kommentar
Dela på andra webbplatser

Jag har precis testat på min Dual-G5 2.0GHz med 1.5GB RAM, och scriptet kördes på ca 1 sekund.

Inga problem alltså.

 

En motfråga till den ursprungliga frågeställaren: Kör du scriptet i Manusredigeraren, eller har du provat att spara det som en applikation? Det finns ju en möjlighet att det kompileras till Intel-native först när du skapar applikationen, och att det körs som PPC-kod under Rosetta när du kör det i Manusredigeraren.

 

[edit: jag testade]

 

Jag testade just att spara som en applikation, och den blev Universal Binary i alla fall. Dock kan jag inte testa under Intel, eftersom jag inte har någon. Det som är intressant att testa är om den färdiga applikationen också blir långsam, eller om det bara är långsamt när den körs i Manusredigeraren.

402530[/snapback]

 

 

Tack Mizhou! Det är värdefullt för mig att veta att en välbestyckad G5:a kan vara alternativet. Även om det i längden förstås blir besvärligt att tvingas hålla mig till 'pre-Intel' apparater.

 

I butikerna där jag testade AS tillsammans med Intel, sparde jag i ena fallet AS som applikation, i andra fallet har jag för mig att jag bara kodade i manusredigeraren utan att ens spara. Skillnaden i hastighet var inte märkbar.

 

Faktum är att jag någonstans på webben sett ett foruminlägg för AppleScriptare, som verkade göra gällande att applikationssparda skript kördes genom Rosetta. Men eftersom jag dels inte litar på min engelska när det gäller terminologi, och jag inte kunnat finna något mer om detta någon annanstans, så undrar jag om detta verkligen är riktigt. Jag förstår helt enkelt inte varför Apple skulle ha valt den lösningen?

Länk till kommentar
Dela på andra webbplatser

Jag har kört på min G5 2x2,5 Ghz och 2,5 GB ram. 29 sek som fristående program! jag tror det är något annat som spökar. Kör OS X 10.4.7.

Länk till kommentar
Dela på andra webbplatser

Hej

Jag har kört skriptet på min iMac-G5 2.13GHz/1.5GB och i Manusredigeraren får jag ca 1-2 sekunder.

I min MacBook CoreDuo 2.0GHz/2GB tar det i Manusredigeraren ca 12-13 sek.

Nu kan jag inte Applescript men jag har kompilerat och sparat, som 'program', och kört den resulterande applikationen i terminalen med 'time ./test.app'. Resultat:

iMac : imac:~/Desktop gunnar$ time ./test.app

 

real 0m1.701s

user 0m0.406s

sys 0m0.157s

imac:~/Desktop gunnar$

 

MacBook: macbook: ~/Desktop gunnar$

real 0m28.159s

user 0m3.192s

sys 0m0.346s

 

Hälsningar

Gunnar

Länk till kommentar
Dela på andra webbplatser

För att  kunna komma längre med det här: om ingen av forumläsarna känner till orsaken till det långsamma AppleScriptet i Intel Macarna - intressant vore om någon vill testa att köra skriptet inlagt i trådstarten i en Mac G4-G5 med Tiger. Det behöver ju inte nödvändigtsvis vara hos Intel-processorerna problemet ligger (i testet som 'Piece' bidrog med står tyvärr inte vilket systemprogram som användes), även om jag förstås vill tro att det hade varit känt tidigare om det var Tiger som orsakar att AS går trögt. Men bra vore ändå att kunna utesluta det.

402521[/snapback]

 

Kompletterar väl då 10.4 med alla uppdateringar.

Länk till kommentar
Dela på andra webbplatser

Jag har kört på min G5 2x2,5 Ghz och 2,5 GB ram. 29 sek som fristående program! jag tror det är något annat som spökar. Kör OS X 10.4.7.

402656[/snapback]

 

 

Här har vi något!

 

Det skulle alltså kunna vara Tiger som trots allt är bromsen?

Länk till kommentar
Dela på andra webbplatser

G5 1.6 Ghz / 1.5 Gb ram / 10.4.7, ca 4-5 sek.

402690[/snapback]

 

 

...fast å andra sidan, det var ju Tiger här med såg jag?

 

Begriper ingenting. :chock:

Länk till kommentar
Dela på andra webbplatser

Hej

Jag har kört skriptet på min iMac-G5 2.13GHz/1.5GB och i Manusredigeraren får jag ca 1-2 sekunder.

I min MacBook CoreDuo 2.0GHz/2GB tar det i Manusredigeraren ca 12-13 sek.

Nu kan jag inte Applescript men jag har kompilerat och sparat, som 'program', och kört den resulterande applikationen i terminalen med 'time ./test.app'. Resultat:

    iMac : imac:~/Desktop gunnar$ time ./test.app

 

real    0m1.701s

user    0m0.406s

sys    0m0.157s

imac:~/Desktop gunnar$

 

  MacBook: macbook: ~/Desktop gunnar$

real  0m28.159s

user 0m3.192s

sys  0m0.346s

 

Hälsningar

Gunnar

402682[/snapback]

 

 

Har Du Tiger i båda apparaterna?

Länk till kommentar
Dela på andra webbplatser

Tiger 10.4.7 i båda

402737[/snapback]

 

 

Intressant.

 

Av Dina tester att döma verkar inte Tiger ensamt kunna vara orsaken till de långsamma skriptkörningarna, och testet visar ju även att formatet i vilket AS spars inte gör någon skillnad (AS sparat som program går inte heller snabbt att köra i Intel-Macarna).

 

Logiskt vill jag därför tro att det är hos Intel-processorn man bör söka orsaken till tidsskillnaderna.

Länk till kommentar
Dela på andra webbplatser

Jag missade tydligen att skriva att även jag testade i Tiger (10.4.7), och det kördes på mindre än 1 sekund. Ändå kör jag Folding@Home, som mer eller mindre lägger beslag på den ena processor-kärnan (jag har kört en renice på den, så att den får högsta prioritet).

Länk till kommentar
Dela på andra webbplatser

Jag har en G4 Digital audio 533MHz. OSX 10.4.7. Det tog 3–4 sekunder som resultat, men hur länge som helst i eventloggen, de 1500 körningarna pluppade dit med en i sekunden ungefär. Knepigt.

Länk till kommentar
Dela på andra webbplatser

Bara för att fortsätta något---

I boken "Applescript - the definitive guide", sid 415 finns ett Ruby-script, som läser en textfil och finner de 30 mest använda orden och skickar ordet och antalet använda gånger som tabelldata till ett Excel-ark. Om detta script körs på min G5 alternativt Intel-mac blir resultatet detta (med den textfil jag använde);

 

iMac G5 MacBook Intel

real 3.556 8.467

user 0.39 0.313

sys 0.157 0.079

 

Om jag ändrar antalet ord till 50 erhålles följande;

 

iMac G5 MacBook Intel

real 3.749 9.1

user 0.418 0.343

sys 0.160 0.087

 

Som synes är MacBook snabbare vad gäller user/sys (maskinresurser) men av någon anledning är kommunikationen med Excel-arket långsam i Intel-fallet.

Gunnar

Länk till kommentar
Dela på andra webbplatser

Jag hittade följande information angående applescript på Intel:

 

I hadn’t seen this documented anywhere else, and just stumbled across it… I wanted to update several AppleScript applets that were PowerPC applications into Univeral binaries.

 

Note I’m talking about the sort of AppleScript applications that one builds with Script Editor and saving the script as an application - not AppleScript Studio apps.

 

When you save an AppleScript in Script Editor, there are several options in the File Format menu. If you choose “application”, you’ll get a PowerPC-only app. However, if you choose “application bundle”, you’ll get a Universal app.

 

So open your AppleScript apps in Script Editor, and resave them as “application bundles” and you are set!

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...