Bonjour
J'aurais voulu savoir s'il était possible d'accélérer l’exécution des scripts.
Par exemple en allouant tant de % de la ram de l'ordinateur ?
Bonjour
J'aurais voulu savoir s'il était possible d'accélérer l’exécution des scripts.
Par exemple en allouant tant de % de la ram de l'ordinateur ?
Bonsoir,
Pas à ma connaissance, mais quelques règles restent valables :
- la déclaration de variable (property) reste de mise car elle contribue à un meilleur adressage interne
- certaines instructions AS sont très puissantes correctement utilisées et permettent d'économiser de nombreuses instructions
- à l'inverse certaines sont gourmandes en mémoire et cpu dans certains cas
- il reste toujours vrai qu'avant de ce lancer dans un code, il faut le penser en fonction du langage
Enfin, j'ajoute qu'il est parfois utile d'interconnecter des langages, comme AS et shell, voir Python ou PERL
A titre d'exemple, sur un dossier de quelques milliers de fichiers, je souhaite la liste des noms de fichier. Avec AS, cela peut prendre quelques minutes pour un "get items" alors qu'un "do shell script" avec la commande shell "ls" le fait en une fraction de seconde en récupérant la liste dans un texte (chaque Applescript paragraph te donnera le nom d'un fichier)...
Donc oui, on peut optimiser,..mais chaque cas est particulier.
Bon courage !
Merci beaucoup pour ces infos, en effet mon premier ressentie sur la fonction de listage de fichier en applescript via le finder est bien le même comparer à un ls en shell.
Bref je pense que c'est comme tout langage de programmation tout réside dans optimisation et la propreté du code.
Bonjour,
Je rebondie sur ce post.
Dans cet objectif, est il possible de mettre des "points de log" dans le code pour voir le temps de traitement des différents morceaux de codes ?
Thais
Bonjour Thais,
Bien sûr, il est possible de faire des logs !
Ceux-ci peuvent contenir n'importe quel texte, y compris, bien sûr le temps (instruction current date).
Voici un exemple avec 2 routines possibles, l'une utilisant du shellscript Slog, l'autre en Applescript pur (ASLog)...
Je crois même me souvenir que nous avions optimisé la seconde avec l'ami FredoMkb !
Comme la première est en shell, ...elle est plus rapide, mais attention au accents et caractères spéciaux !
Je précise que la fonction Coup d'Oeil du Finder, appliquée sur le fichier de log, est mise à jour pendant l'exécution du script ! Donc en direct.
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 on run ASlog("Hello voici une trace à " & (current date)) SLog("Hello voici une trace à " & (current date)) end run -- en utilisant le shell on SLog(msg) set the my_log to ¬ (POSIX path of ((path to desktop) as text) & "mon_journal.txt") try -- Créer si besoin tell me to do shell script "touch " & (quoted form of my_log) -- Ajouter le message en fin de fichier tell me to do shell script "echo " & ¬ (quoted form of msg) & ¬ " >> " & (quoted form of my_log) end try end SLog -- sans utiliser le shell on ASlog(msg) set the my_log to ¬ ((path to desktop) as text) & "mon_journal.txt" try -- ouvrir le fichier. Finder le crée si besoin open for access file the my_log with write permission -- écrire le message en fin de fichier write (msg & return) to file the my_log starting at eof -- fermer le fichier close access file the my_log on error try close access file the my_log end try end try end ASlog
Bonjour Philippe,
Merci pour l'info, c'est nickel.
Tu sais comment préciser le truc et avoir une précison au niveau milliseconde et pas seulement seconde ?
Thais
Partager