14 dépôts
Tools that analyze memory usage patterns and identify fragmentation to optimize resource consumption during software execution.
Explore 14 awesome GitHub repositories matching development tools & productivity · Memory Profiling. Refine with filters or upvote what's useful.
PyTorch is a machine learning framework centered on a GPU-ready tensor library that supports multi-dimensional array operations across both CPU and accelerator hardware. It provides a foundational infrastructure for mathematical computation and dynamic neural network construction, utilizing a tape-based automatic differentiation system that allows for flexible, non-static graph execution. The framework is designed for deep integration with Python, enabling natural usage alongside standard scientific computing ecosystems. It distinguishes itself through a comprehensive distributed training sui
Analyzes memory allocation patterns to detect fragmentation and optimize resource consumption during intensive computations.
This project is a machine learning array framework and tensor computation library designed for high-performance numerical computing. It provides a comprehensive suite of tools for constructing and training neural networks, featuring an automatic differentiation engine that facilitates gradient-based optimization and complex mathematical modeling. The library distinguishes itself through a unified memory architecture that allows data to be shared across CPU and GPU devices without explicit copies, significantly reducing data movement overhead. Its execution model relies on a lazy evaluation en
Calculates the total byte count of arrays to monitor resource consumption and identify potential memory bottlenecks during heavy computational tasks.
FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software execution. It functions as a processing engine that transforms raw stack trace samples into interactive, hierarchical diagrams. By representing aggregated execution frequency as nested rectangles, the tool allows developers to visualize hot code paths and analyze system behavior across both kernel and user-space environments. The project distinguishes itself through its ability to perform differential profile analysis, which highlights performance regressions or improvements by compari
Samples memory usage across time intervals to visualize how a process's working set size grows.
Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++ extensions. It captures memory events by hooking into the language runtime and traversing call stacks, providing a comprehensive view of how an application consumes memory. The tool is designed to minimize performance impact on the target application by using thread-local buffering and streaming data to an external process or file. The project distinguishes itself through its ability to monitor complex, multi-threaded systems and child processes in real-time. It provides diagnostic util
Analyzes and optimizes heap allocation patterns in Python applications to identify memory leaks.
stats.js is a JavaScript performance monitor and visual diagnostic tool. It provides a real-time overlay for tracking frame rates, memory allocation, and the rendering efficiency of web graphics and applications. The project includes a visual meter for measuring frames per second and a browser memory profiler that displays allocated memory in megabytes to help detect resource leaks. It is designed as a web graphics debugger to monitor the efficiency of WebGL and Canvas rendering. The tool covers a range of monitoring and observability capabilities, including the creation of custom performanc
Monitors allocated memory in megabytes to identify memory leaks and optimize resource consumption in JavaScript apps.
LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector search engine. It serves as a high-performance backend for indexing and retrieving high-dimensional embeddings, providing the foundation for machine learning data pipelines. The system distinguishes itself through a combination of cloud-native object storage and immutable version tracking, allowing for data time-travel and reproducible AI experiments. It integrates hybrid search capabilities, merging dense vector similarity with BM25 full-text search and SQL-like scalar filters
Analyzes memory usage and detects leaks in stateful user-defined functions to prevent out-of-memory errors.
Apache Beam is a distributed data pipeline framework and unified data processing model designed to handle both bounded batch data and unbounded real-time streams. It provides a system for building scalable, data-parallel workflows that operate across compute clusters using a single programming model. The framework utilizes a cross-runner pipeline abstraction that decouples the data processing logic from the underlying execution backend, allowing the same pipeline to run on different distributed compute engines. It supports multi-language pipeline development by translating high-level code fro
Analyzes memory usage within the runtime environment to identify leaks and optimize resource allocation.
This project is a comprehensive collection of educational examples and reference implementations for building vision and language models using PyTorch. It serves as a deep learning tutorial covering the end-to-end process of developing neural networks, from initial architecture definition to final production deployment. The repository provides detailed guides on implementing a wide range of domain-specific models, including convolutional neural networks for object detection and segmentation, as well as transformer and recurrent architectures for natural language processing. It emphasizes gene
Analyzes GPU memory consumption patterns relative to input text length to identify growth trends.
gpt-neox is a distributed training system and framework for building large-scale autoregressive language models. It implements the transformer architecture and provides a toolkit for training models with billions of parameters by distributing weights across compute clusters. The framework distinguishes itself through extensive support for distributed model parallelism, including pipeline and sequence parallelism, to overcome single-device memory limits. It further supports sparse model architectures using a mixture of experts system with Sinkhorn-based routing. The project covers a broad ran
Analyzes execution and memory usage through specialized system and memory profiling tools.
This is an interactive Python tutorial delivered as a collection of Jupyter notebooks. It is designed as a structured learning path for beginners, teaching fundamental language concepts through a sequence of lessons that combine explanatory text with runnable code cells and embedded practice exercises. Each notebook is a self-contained unit that introduces a topic, demonstrates it with a minimal code example, and then asks the learner to write code themselves, receiving immediate feedback from the browser-based execution environment. The curriculum is built on a progressive concept-stacking mo
Teaches tracing memory allocations to identify leaks and optimize consumption.
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Provides statistical profiling tools to analyze memory allocation and retention patterns for resource optimization.
redis-rdb-tools est une collection d'utilitaires spécialisés pour analyser, convertir et parser les fichiers de dump binaires de bases de données Redis. Il fonctionne comme un parser et un convertisseur qui extrait les clés et les valeurs de ces snapshots pour faciliter la récupération, la migration et l'analyse des données. Le projet se distingue par ses capacités de profilage mémoire et de manipulation de snapshots. Il inclut un analyseur de mémoire qui génère des rapports de consommation au niveau des clés pour identifier les inefficacités de stockage, ainsi qu'un utilitaire de manipulation capable de fusionner plusieurs fichiers de dump ou de diviser des snapshots uniques en parties plus petites. L'ensemble d'outils couvre un large éventail d'opérations sur les données, notamment la conversion de dumps binaires en JSON, la génération de commandes de protocole pour la réimportation de données et l'exportation d'enregistrements vers des bases de données relationnelles ou des moteurs de recherche. Il fournit également des utilitaires pour comparer différents snapshots de base de données afin d'identifier les changements au fil du temps et filtrer les clés à l'aide d'expressions régulières pendant le processus de parsing.
Generates reports on memory consumption per key to identify storage inefficiencies in Redis snapshots.
Memlab est un profileur de mémoire de navigateur automatisé et un analyseur de fuites de mémoire JavaScript. Il fournit une boîte à outils pour détecter et analyser les fuites de mémoire en inspectant et en comparant des instantanés de tas (heap snapshots) pour identifier la croissance non liée d'objets et les éléments DOM détachés. Le système se distingue par un framework de test de fuite automatisé qui exécute des séquences d'interaction de navigateur de bout en bout pour isoler par programmation les régressions de mémoire. Il utilise la comparaison d'instantanés de tas, le traçage de chaînes de rétention et le filtrage basé sur des heuristiques pour déterminer pourquoi les objets restent en mémoire et pour mapper le chemin le plus court des racines de récupération de place vers les objets ayant fui. Le projet couvre de larges domaines de capacités, notamment l'inspection de tas, l'analyse de croissance basée sur l'interaction et le profilage de mémoire des composants web. Il inclut également des outils pour les assertions de mémoire programmatiques, le débogage visuel des fuites via des superpositions de navigateur, et la capacité d'exposer les données d'analyse via le protocole Model Context pour une exploration en langage naturel. La boîte à outils peut être déclenchée via une interface en ligne de commande pour une intégration dans des pipelines d'intégration continue automatisés.
Analyzes memory consumption of specific UI components and their retainer paths to optimize performance.
Heaptrack est un profileur de mémoire tas (heap) et un outil de diagnostic pour les applications s'exécutant sur Linux. Il fonctionne comme un détecteur de fuites de mémoire et un système d'analyse de performance qui enregistre les allocations de tas et les traces de pile pour identifier les points chauds de mémoire et les modèles de consommation. Le projet fournit un visualiseur graphique d'allocation de tas pour explorer l'utilisation de la mémoire via des vues en arbre et des rapports de mémoire de pointe. Il utilise des graphiques en flamme (flame graphs) et des graphiques d'allocation pour visualiser les points chauds de mémoire et aider à la détection des fuites. L'ensemble d'outils inclut des capacités pour le traçage de l'allocation de mémoire tas et la génération de rapports de mémoire via des utilitaires en ligne de commande. Ces utilitaires produisent des résumés ASCII des consommateurs de mémoire de pointe et permettent la conversion des données de profil.
Analyzes memory usage patterns using flame graphs, allocation charts, and tree views.