Une équipe d’informaticiens de l’Université du Massachusetts à Amherst, dirigée par Emery Berger, a récemment dévoilé un profileur Python primé appelé Scalene. Les programmes écrits avec Python sont notoirement lents – jusqu’à 60 000 fois furthermore lents que le code écrit dans d’autres langages de programmation – et Scalene s’efforce d’identifier efficacement les retards exacts de Python, permettant ainsi aux programmeurs de dépanner et de rationaliser leur code pour de meilleures performances.
Il existe de nombreux langages de programmation différents – C++, Fortran et Java sont parmi les moreover connus – mais, ces dernières années, un langage est devenu presque omniprésent : Python.
“Python est un langage “avec piles””, explique Berger, professeur d’informatique au Manning Faculty of Data and Laptop or computer Sciences de l’UMass Amherst, “et il est devenu très populaire à l’ère de la science des données et des devices. apprendre parce qu’il est très convivial. Le langage est livré avec des bibliothèques d’outils faciles à utiliser et possède une syntaxe intuitive et lisible, permettant aux utilisateurs de commencer rapidement à écrire du code Python.
“Mais Python est incroyablement inefficace”, déclare Berger. “Il s’exécute facilement entre 100 et 1 000 fois plus lentement que d’autres langages, et certaines tâches peuvent prendre 60 000 fois furthermore de temps en Python.”
Les programmeurs le savent depuis longtemps et pour lutter contre l’inefficacité de Python, ils peuvent utiliser des outils appelés « profileurs ». Les profileurs exécutent des programmes, puis identifient pourquoi et quelles get-togethers sont lentes.
Malheureusement, les profileurs existants font étonnamment peu pour aider les programmeurs Python. Au mieux, ils indiquent qu’une région de code est lente et laissent au programmeur le soin de déterminer ce qui peut être fait, le cas échéant.
L’équipe de Berger, qui comprenait Sam Stern et Juan Altmayer Pizzorno, étudiants diplômés en informatique de l’UMass, a construit Scalene pour être le leading profileur qui non seulement identifie avec précision les inefficacités du code Python, mais utilise également l’IA pour suggérer comment le code peut être amélioré.
“Scalene begin par déterminer où votre programme perd du temps”, explique Berger. Il se concentre sur trois domaines clés – l’utilisation du CPU, du GPU et de la mémoire – qui sont responsables de la majorité de la lenteur de Python.
Une fois que Scalene a identifié où Python a du mal à suivre, il utilise ensuite l’IA – en s’appuyant sur la même technologie qui sous-are likely ChatGPT – pour suggérer des moyens d’optimiser des lignes individuelles, ou même des groupes de code. “Il s’agit d’un tableau de bord exploitable”, explique Berger. “Ce n’est pas seulement un indicateur de vitesse qui vous indique à quelle vitesse votre voiture roule, il vous indique si vous pourriez aller additionally vite, pourquoi votre vitesse est affectée et ce que vous pouvez faire pour atteindre la vitesse maximale.”
“Les ordinateurs ne sont in addition plus rapides”, déclare Berger. “Les améliorations futures en matière de vitesse proviendront moins d’un meilleur matériel que d’une programmation moreover rapide et furthermore efficace.”
Où il a remporté le prix du meilleur report.
Informations complémentaires : https://www.usenix.org/conference/osdi23/presentation/berger