Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'optimisation de code Python avec Intel VTune Amplifier
Un livre blanc gratuit à télécharger

Le , par Michael Guilloux

0PARTAGES

2  1 
Python est un langage de programmation utilisé pour créer une large gamme de logiciels, y compris ceux où les performances des applications comptent vraiment. Par exemple : code des serveurs Web, scripts d’automatisation complexe (y compris des systèmes de compilation) ou calculs scientifiques. Python vous permet également d’écrire rapidement du code, mais celui-ci peut mal s’adapter à l’augmentation du volume de données, et vous ne pourrez le savoir que si vous augmentez suffisamment la charge de travail à traiter. Pour ces différentes raisons, il peut s’avérer nécessaire d’optimiser votre code Python.

Pour trouver dans votre code les parties qui ont besoin d’optimisation, plusieurs possibilités s’offrent à vous :

  • L’examen du code. C’est la technique la plus simple, car vous n’avez besoin d’aucun autre outil qu’un éditeur de code. Toutefois, ce n’est pas la plus facile à mettre en œuvre, car elle suppose que vous connaissez les performances de certains blocs de codes, ce qui n’est pas forcément le cas. Cette technique peut également ne peut pas fonctionner dès que la taille de la base de code devient modérément grande, car cela représente trop d’information à maîtriser ;
  • La journalisation. Cette technique consiste à écrire une version spéciale du code source à laquelle sont ajoutées des instructions de journalisation du temps de traitement. Il faut ensuite examiner les journaux et essayer de trouver la partie lente du code. Cette analyse peut être fastidieuse et implique en outre des modifications du code source ;
  • Le profilage. Le profilage consiste à recueillir des mesures indiquant comment fonctionne votre application avec des charges de travail données. Le profilage peut porter sur les points chauds dans l’utilisation du CPU (c.-à-d. la recherche et le réglage des fonctions qui consomment beaucoup de cycles de CPU). Il est également possible de profiler des éléments tels que la consommation de mémoire, etc. Cependant dans une application Python typique, c’est généralement le CPU qui est en cause, et même certains points de forte consommation de mémoire peuvent être identifiés en détectant les points chauds du CPU. Cela s’explique par le fait que l’allocation et la libération de mémoire, en particulier dans certains cas comme celui des objets Python volumineux de type séquence, représentent une utilisation intensive du temps de CPU.


Le profilage d’une application nécessite l’utilisation d’un outil spécifique, mais les gains de productivité obtenus le justifient largement. Parmi les outils disponibles à cette fin, on note le profileur de performance VTune Amplifier XE d’Intel. Dans la dernière version d’Intel VTune Amplifier XE 2017, l’outil offre maintenant la capacité d’analyser les scripts Python et de trouver exactement les parties d’une application qui consomme le plus de temps. Il faut par ailleurs noter que VTune Amplifier XE d’Intel a été livré gratuitement dans le programme Intel Parallel Studio XE Beta.

L’outil est pris en charge par Windows et Linux, avec les caractéristiques clés suivantes :

  • cible Python 32 et 64-bit ;
  • compatible avec les branches 2.7.x et 3.4.x ;
  • collecte à distance via le support SSH ;
  • riche interface avec support multithread, zoom et filtre, et zoom avant dans le code source.


Dans un libre blanc gratuit disponible au téléchargement, vous découvrirez et serez guidés à travers les différentes étapes d’analyse de code Python avec cette nouvelle fonctionnalité d’Intel VTune Amplifier. Il faut également préciser que l’article se concentre sur le profilage des points chauds dans l’utilisation du CPU.

Télécharger le livre blanc sur l’optimisation de code Python avec Intel VTune Amplifier XE

Une erreur dans cette actualité ? Signalez-le nous !