1°) ta boucle c'est une boucle toutes les 1⁄3 secondes (soit 3 tours par secondes), definie par la variable delay.tv_nsec ligne 53.
dans une boucle il y a beaucoup d'ouverture/ecriture/fermeture de fichier
vu que tu demandes 3 boucles par secondes, ton CPU passe son temps à ouvrir des fichiers et à les fermer.
tu peux commencer par faire une boucle par seconde en commentant la ligne 53 (ajouter // au debut)
et en decommentant la ligne 55 (en enlevant les //)
ensuite, pour le fichier de logs, tu pourrais ouvrir le fichier de log au debut, le fermer à la fin
plutot que de l'ouvrir, ecrire, fermer le fichier à chaque fois.
2°) petites optimisations, tu peux remonter ton appelle à gmail.py (ligne 149/150) et mettre juste l'appelle system ligne 145
sinon, bah bienvenu dans le monde de l'embarqué, ou il faut parfois faire revoir plusieurs fois son code afin de l'optimiser.
[^] # Re: reflexion de base
Posté par NeoX . En réponse au message Fichier python pour lecture Arduino. Évalué à 3.
mon analyse rapidement :
1°) ta boucle c'est une boucle toutes les 1⁄3 secondes (soit 3 tours par secondes), definie par la variable delay.tv_nsec ligne 53.
dans une boucle il y a beaucoup d'ouverture/ecriture/fermeture de fichier
vu que tu demandes 3 boucles par secondes, ton CPU passe son temps à ouvrir des fichiers et à les fermer.
tu peux commencer par faire une boucle par seconde en commentant la ligne 53 (ajouter // au debut)
et en decommentant la ligne 55 (en enlevant les //)
ensuite, pour le fichier de logs, tu pourrais ouvrir le fichier de log au debut, le fermer à la fin
plutot que de l'ouvrir, ecrire, fermer le fichier à chaque fois.
2°) petites optimisations, tu peux remonter ton appelle à gmail.py (ligne 149/150) et mettre juste l'appelle system ligne 145
sinon, bah bienvenu dans le monde de l'embarqué, ou il faut parfois faire revoir plusieurs fois son code afin de l'optimiser.