14 repositorios
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 es una colección de utilidades especializadas para analizar, convertir y procesar archivos de volcado de base de datos binarios de Redis. Funciona como un analizador y convertidor que extrae claves y valores de estas instantáneas para facilitar la recuperación, migración y análisis de datos. El proyecto se distingue por sus capacidades de perfilado de memoria y manipulación de instantáneas. Incluye un analizador de memoria que genera informes de consumo a nivel de clave para identificar ineficiencias de almacenamiento y una utilidad de manipulación capaz de fusionar múltiples archivos de volcado o dividir instantáneas individuales en partes más pequeñas. El conjunto de herramientas cubre una amplia gama de operaciones de datos, incluyendo la conversión de volcados binarios a JSON, la generación de comandos de protocolo para la reimportación de datos y la exportación de registros a bases de datos relacionales o motores de búsqueda. También proporciona utilidades para comparar diferentes instantáneas de base de datos para identificar cambios a lo largo del tiempo y filtrar claves mediante expresiones regulares durante el proceso de análisis.
Generates reports on memory consumption per key to identify storage inefficiencies in Redis snapshots.
Memlab es un perfilador de memoria de navegador automatizado y analizador de fugas de memoria de JavaScript. Proporciona un kit de herramientas para detectar y analizar fugas de memoria inspeccionando y comparando instantáneas de montón (heap snapshots) para identificar el crecimiento de objetos no vinculados y elementos DOM separados. El sistema se distingue por un framework de pruebas de fugas automatizado que ejecuta secuencias de interacción del navegador de extremo a extremo para aislar programáticamente las regresiones de memoria. Utiliza la comparación de instantáneas de montón, el seguimiento de cadenas de retención y el filtrado basado en heurística para determinar por qué los objetos permanecen en la memoria y para mapear el camino más corto desde las raíces de recolección de basura hasta los objetos filtrados. El proyecto cubre amplias áreas de capacidad, incluyendo inspección de montón, análisis de crecimiento basado en interacción y perfilado de memoria de componentes web. También incluye herramientas para aserciones de memoria programáticas, depuración visual de fugas a través de superposiciones del navegador y la capacidad de exponer datos de análisis a través del Protocolo de Contexto de Modelo para la exploración en lenguaje natural. El kit de herramientas se puede activar a través de una interfaz de línea de comandos para su integración en tuberías de integración continua automatizadas.
Analyzes memory consumption of specific UI components and their retainer paths to optimize performance.
Heaptrack es un profiler de memoria heap y herramienta de diagnóstico para aplicaciones que se ejecutan en Linux. Funciona como un detector de fugas de memoria y sistema de análisis de rendimiento que registra asignaciones de heap y seguimientos de pila (stack traces) para identificar puntos críticos de memoria y patrones de consumo. El proyecto proporciona un visualizador gráfico de asignación de heap para explorar el uso de memoria a través de vistas de árbol e informes de memoria pico. Utiliza gráficos de llama (flame graphs) y gráficos de asignación para visualizar puntos críticos de memoria y ayudar en la detección de fugas. El conjunto de herramientas incluye capacidades para el seguimiento de asignación de memoria heap y la generación de informes de memoria a través de utilidades de línea de comandos. Estas utilidades producen resúmenes ASCII de los consumidores de memoria pico y permiten la conversión de datos de perfil.
Analyzes memory usage patterns using flame graphs, allocation charts, and tree views.