À propos du projet
Scalene est un profileur haute précision pour Python conçu afin d'identifier les goulots d'étranglement des performances entre le CPU, le GPU et l'utilisation de la mémoire. Contrairement à de nombreux autres profilers, il utilise l'échantillonnage afin de maintenir une surcharge faible (généralement 10 à 20 %) et fournit des rapports détaillés au niveau des lignes.
Les capacités clés incluent :
- Profilage CPU : distingue le temps passé dans le code Python, le code natif (bibliothèques) et le temps système (E/S).
- Profilage mémoire : suit la croissance de la mémoire par ligne, identifie les fuites de mémoire potentielles et surveille le volume de copie entre les frontières Python et natif.
- Profilage GPU : rapporte le temps GPU pour les systèmes NVIDIA.
- Profilage async : attribue le temps 'await' en wall-clock à des lignes spécifiques et suit le nombre de coroutines concurrentes.
- Optimisations pilotées par IA : s'intègre aux fournisseurs d'IA (OpenAI, Amazon Bedrock, Azure et Ollama) afin de proposer des optimisations de code basées sur les inefficacités profilées.
- Visualisation avancée : offre une interface graphique web avec des piles d'appels, des diagrammes en flamme pondérés par la mémoire et une chronologie en wall-clock affichant les activités GC, E/S et GIL.
Scalene prend en charge diverses méthodes d'intégration, dont une interface en ligne de commande, une extension Visual Studio Code et des commandes magiques Jupyter notebook. Il prend également en charge Python thread-free (3.13t / 3.14t).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.