Voici la présentation d'un outil open-source qui "utilise l'IA pour offrir des suggestions d'efficacité aux programmeurs Python". Connu sous le nom de "Scalene", le profileur (une sorte de débogueur pour les problèmes de performance) a été téléchargé plus de 900 000 fois sur GitHub."C'est génial en général, et génial pour un projet universitaire", a déclaré Emery Berger, professeur à UMass, qui a travaillé avec les doctorants Sam Stern et Juan Altmayer Pizzorno sur l'outil open-source...
Scalene mesure le temps et la mémoire consacrés à chaque ligne de code, en moyenne et en pointe, [ainsi que] le temps passé dans des bibliothèques efficaces et le temps passé en Python... En sélectionnant une icône en forme d'éclair, l'utilisateur peut "exploiter le moteur qui alimente ChatGPT pour obtenir une suggestion d'optimisation", a déclaré M. Berger. Dans une démonstration qu'il a montrée, un résultat a recommandé une action moins gourmande en mémoire pour réduire un très grand tableau créé par le code...
"Si votre code Python fonctionne déjà assez rapidement, vous n'avez pas besoin d'un profileur. Mais s'il est lent, je pense qu'il s'agit d'un profileur très pratique", a déclaré M. Berger.
À propos de Scalene
Scalene est un profileur CPU, GPU et mémoire haute performance pour Python qui fait un certain nombre de choses que les autres profileurs Python ne font pas et ne peuvent pas faire. Il fonctionne des ordres de grandeur plus rapidement que beaucoup d'autres profileurs tout en fournissant des informations beaucoup plus détaillées. C'est également le premier profileur à intégrer des propositions d'optimisation alimentées par l'IA.
Suggestions d'optimisation alimentées par l'IA
Remarque
Pour activer les suggestions d'optimisation alimentées par l'IA, vous devez saisir une clé OpenAI dans la case située sous "Options avancées". Votre compte doit avoir un solde positif pour que cela fonctionne.

Pour activer les suggestions d'optimisation alimentées par l'IA, vous devez saisir une clé OpenAI dans la case située sous "Options avancées". Votre compte doit avoir un solde positif pour que cela fonctionne.
Vous pouvez cliquer autant de fois que vous le souhaitez sur l'éclair ou l'explosion, et différentes optimisations seront proposées. Les résultats peuvent varier, mais dans certains cas, les suggestions sont assez impressionnantes (par exemple, des améliorations de l'ordre de la magnitude).
Démarrage rapide
Installation de Scalene :
| Code : | Sélectionner tout |
python3 -m pip install -U scalene
| Code : | Sélectionner tout |
conda install -c conda-forge scalene
Utilisation de Scalene :
Après avoir installé Scalene, vous pouvez utiliser Scalene en ligne de commande ou en tant qu'extension de Visual Studio Code.
[LIST][*]Utilisation de l'extension Scalene VS Code :
Tout d'abord, installez l'extension Scalene à partir du VS Code Marketplace ou en la recherchant dans VS Code en tapant Command-Shift-X (Mac) ou Ctrl-Shift-X (Windows). Une fois l'extension installée, cliquez sur Command-Shift-P ou Ctrl-Shift-P pour ouvrir la palette de commandes. Sélectionnez ensuite "Scalene : AI-powered profiling..." (vous pouvez taper Scalene et il apparaîtra s'il est installé). Exécutez cette commande et, en supposant que votre code s'exécute pendant au moins une seconde, un profil Scalene apparaîtra dans une vue Web.
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | scalene your_prog.py # full profile (outputs to web interface) python3 -m scalene your_prog.py # equivalent alternative scalene --cli your_prog.py # use the command-line only (no web interface) scalene --cpu your_prog.py # only profile CPU scalene --cpu --gpu your_prog.py # only profile CPU and GPU scalene --cpu --gpu --memory your_prog.py # profile everything (same as no options) scalene --reduced-profile your_prog.py # only profile lines with significant usage scalene --profile-interval 5.0 your_prog.py # output a new profile every five seconds scalene (Scalene options) --- your_prog.py (...) # use --- to tell Scalene to ignore options after that point scalene --help # lists all options |
Invoquer l'utilisation de scalene comme ci-dessus et ensuite :
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 | from scalene import scalene_profiler # Turn profiling on scalene_profiler.start() # Turn profiling off scalene_profiler.stop() |
Il suffit de faire...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Quel est votre avis sur le sujet ?