10 dépôts
Performance analysis tools specifically designed to track CPU, GPU, and memory usage in Python applications.
Distinct from CPU Profilers: Distinct from general CPU profilers: focuses on multi-resource profiling specifically for the Python runtime.
Explore 10 awesome GitHub repositories matching development tools & productivity · Python Profilers. Refine with filters or upvote what's useful.
py-spy is a sampling profiler and process debugger for Python. It allows for the analysis of running processes to identify performance bottlenecks and diagnose hanging programs without requiring code changes or restarts. The tool operates by reading the memory of a running process from the outside, which enables non-invasive sampling and state collection without pausing execution. It can resolve binary symbols to capture performance data from native extensions written in compiled languages and generate visual flame graphs for both native extensions and subprocesses. The project provides capa
Identifies slow functions and execution bottlenecks in running Python programs without modifying source code.
Scalene is a high-performance diagnostic utility designed to measure resource consumption during the execution of Python applications. It functions as a line-level monitor, providing granular insights that pinpoint the specific source code responsible for performance overhead. The tool distinguishes itself through statistical profiling that captures stack traces and resource usage without requiring manual instrumentation of the source code. It tracks CPU, GPU, and memory consumption by intercepting library-level calls and hardware driver commands, allowing for the analysis of both managed and
Tracks CPU, GPU, and memory usage at the line level to identify bottlenecks in Python code.
VizTracer is a Python runtime instrumentation system and execution profiler used to trace and visualize code execution. It functions as a multi-process performance analyzer and trace visualizer, providing an interactive timeline and flamegraph interface to identify performance bottlenecks and analyze call sequences. The project distinguishes itself by its ability to aggregate execution data from multiple threads, subprocesses, and asynchronous tasks into a single unified report. It also features live process instrumentation, allowing users to attach to and detach from running Python applicati
Measures execution time and identifies bottlenecks in Python code using interactive timelines and flamegraphs.
pyinstrument is a statistical sampling profiler for Python that records the call stack at regular intervals to identify performance bottlenecks with low overhead. It tracks wall-clock time, including I/O and external service calls, and provides specialized profiling for asynchronous programs by attributing time spent awaiting tasks to the calling function. The project converts captured execution data into interactive HTML reports, JSON, and flamecharts. It includes a call stack visualizer to simplify the analysis of execution paths and supports the profiling of individual cells within interac
Identifies slow functions and bottlenecks in Python code by sampling the call stack and measuring wall-clock time.
This project is a collection of diagnostic tools designed for auditing IP quality, analyzing network stability, profiling server environments, and benchmarking hardware performance. It provides a suite of utilities to evaluate virtual private servers through hardware performance benchmarking and system environment diagnostics. The toolset includes a streaming service unlock checker to determine regional content access, an IP reputation audit tool for blacklist and geolocation verification, and a network quality analyzer for measuring latency and throughput. It covers broader capability areas
Gathers system specifications and hardware architecture to create a comprehensive summary of the server environment.
Enables profiling of applications running in containerized, cluster, or HPC environments with deployable standalone tools.
Criterion est une bibliothèque de micro-benchmarking axée sur les statistiques et un outil de régression de performance pour Rust. Elle fournit un framework pour isoler et mesurer de petits segments de code, en utilisant l'analyse statistique pour éliminer le bruit et garantir des mesures de vitesse d'exécution fiables et reproductibles. L'outil se distingue par une suite de visualisation des performances qui génère des rapports HTML et des graphiques pour suivre les tendances de performance et le débit. Il inclut un système pour comparer les temps d'exécution actuels aux lignes de base enregistrées afin d'identifier et de prévenir les baisses de performance. La bibliothèque couvre la mesure de fonctions asynchrones, le benchmarking paramétré pour la mise à l'échelle des entrées et le calcul du débit de code. Elle prend également en charge l'intégration de métriques matérielles personnalisées et de compteurs de processeur pour capturer des données de bas niveau pendant les exécutions. L'automatisation est prise en charge via une interface en ligne de commande pour le filtrage des benchmarks et un mode de validation pour vérifier l'exécution réussie au sein des pipelines d'intégration continue.
Tracks execution time and throughput specifically for asynchronous Rust functions and their runtimes.
This project is a diagnostic utility for monitoring and analyzing memory consumption in Python applications. It provides tools for tracking resource usage at the process level and performing detailed, line-by-line analysis to identify memory leaks and performance bottlenecks. The tool distinguishes itself through its ability to aggregate memory metrics across entire process trees, capturing the total resource impact of both parent and child processes. It supports time-series visualization of memory usage over the duration of a script, allowing for the identification of long-term consumption p
Measures the memory footprint of Python scripts over time to detect performance bottlenecks and resource spikes.
vprof est un outil de profilage visuel pour Python conçu pour identifier les goulots d'étranglement et surveiller la consommation mémoire. Il agit comme un profileur CPU et mémoire qui transforme les données de performance en visualisations interactives pour analyser le temps processeur et les piles d'appels. Le projet se distingue par une suite de diagnostics visuels, incluant des flame graphs pour la visualisation des piles et des cartes thermiques (heatmaps) qui mappent la fréquence et la durée d'exécution directement sur le code source. Il inclut également un moniteur de performance distant capable de capturer des métriques spécifiques aux fonctions depuis un serveur en cours d'exécution et de diffuser ces données vers un outil de visualisation séparé. L'outil couvre de larges domaines de capacités, notamment le profilage CPU par échantillonnage, la surveillance mémoire au niveau de la ligne via le suivi du garbage collector, et la persistance des données de profil pour une analyse hors ligne. Ces utilitaires permettent d'auditer l'efficacité du code source et d'identifier les fuites de mémoire.
Provides a comprehensive suite for measuring execution time and identifying CPU bottlenecks in Python programs.
Segment Anything Fast est un moteur d'inférence de vision par ordinateur et un framework de segmentation d'image haute performance construit pour PyTorch. Il fournit un environnement spécialisé pour l'isolation automatisée d'objets et la génération de masques, conçu pour traiter des jeux de données visuels à grande échelle avec un débit accru. Le projet se distingue par une suite de stratégies d'optimisation au niveau système qui accélèrent les performances des modèles de deep learning. En utilisant la compilation de modèles basée sur des graphes, la fusion de noyaux juste-à-temps (JIT) et la quantification consciente du matériel, il réduit la latence computationnelle et l'empreinte mémoire. Ces techniques sont complétées par l'arithmétique en précision mixte et le parallélisme des entrées par lots, qui permettent au moteur de saturer les ressources matérielles lors de tâches de segmentation complexes. Au-delà de ses capacités de segmentation de base, la bibliothèque inclut des outils de diagnostic intégrés pour le profilage des performances du deep learning. Ces utilitaires permettent aux utilisateurs de surveiller les modèles d'allocation mémoire et de capturer des traces de timing d'exécution, offrant une visibilité sur les goulots d'étranglement du système lors de l'analyse de données à grande échelle.
Collects performance samples to help maximize GPU utilization in deep learning applications.