30 open-source projects similar to pythonprofilers/memory_profiler, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Memory Profiler alternative.
earlyoom is a Linux OOM killer daemon that monitors system memory and terminates processes to prevent system freezes. It acts as a memory resource monitor and process termination manager, tracking available RAM and swap space to ensure the operating system remains responsive. The project distinguishes itself by selecting termination targets based on the largest resident set size rather than relying solely on kernel OOM scores. It provides granular control through regular expression-based process filtering to protect specific applications and can terminate entire process groups to ensure compl
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
vprof is a visual profiling tool for Python designed to identify execution bottlenecks and monitor memory consumption. It functions as a CPU and memory profiler that transforms performance data into interactive visualizations to analyze processor time and call stacks. The project distinguishes itself through a suite of visual diagnostics, including flame graphs for stack visualization and heatmaps that map execution frequency and duration directly onto source code. It also includes a remote performance monitor capable of capturing function-specific metrics from a running server and streaming
pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing
Boltons is a comprehensive utility toolkit and extension of the Python standard library. It provides a collection of reusable recipes and specialized data structures, system utilities, and helper libraries designed to support common programming tasks across various domains. The project is distinguished by a standard-library-only dependency model, ensuring maximum portability with zero external dependencies. It provides advanced implementations for data structures, such as immutable mappings and priority queues, alongside recursive data transformation tools for reshaping complex nested diction
Pyramid is a Python web framework and WSGI toolkit designed for building web applications. It functions as a URL routing engine that maps incoming HTTP requests to specific view callables using both pattern-based routing and hierarchical resource tree traversal. The framework is distinguished by its hybrid dispatch system, allowing developers to combine regular expression URL matching with the ability to resolve requests by navigating a tree of nested objects. It implements a flexible component architecture that supports application registry management, deferred configuration execution, and t
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
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
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
htop is a terminal user interface system monitor for Unix systems. It functions as an interactive process viewer and real-time resource visualizer, providing a dashboard to track CPU, memory, and load average metrics. The tool enables the sorting, filtering, and termination of active system processes and threads. It distinguishes itself through a text-mode interface that can render processes in a hierarchical tree structure to visualize parent-child relationships and allows for the assignment of CPU affinity to specific processor cores. The monitoring surface covers CPU utilization, memory a
This project is a Java thread-local extension and context transmitter designed to preserve execution context across asynchronous boundaries. It provides the mechanisms necessary to pass thread-local variables from parent threads to child threads, ensuring data persists when using thread pool executors. The library enables automatic context transmission through a Java agent that uses bytecode instrumentation to modify thread pool implementations without requiring source code changes. It also supports transparent instrumentation via executor service wrapping and task decoration for Runnable and
This project is a pharmaceutical supply chain and public health data analyzer designed to track the historical distribution and quality of medical products across regional jurisdictions. It functions as a monitoring tool for vaccine distribution, analyzing supply patterns and quality variances over time. The system converts pharmaceutical sales records into regional heatmaps and spatial density maps to visualize the geographic concentration of product distribution. It includes a time-series analysis tool to track historical product movement and identify trends in regional supply and demand.
Polybar is a customizable status bar for X11 window managers that functions as a desktop shell interface for displaying real-time system metrics and application status. It serves as a shell script runner and system resource monitor, rendering a persistent graphical overlay on the desktop to track CPU load, memory usage, battery levels, and network connection details. The project distinguishes itself by acting as a system tray host to manage background application icons and as a window manager interface that communicates via protocol messages to show active workspace indicators and window titl
handcalcs is a mathematical documentation generator and Python LaTeX calculation renderer. It serves as an automated calculation sheet tool that converts Python code and numeric calculations into formatted LaTeX mathematical documentation, functioning as both a symbolic math formatter and a Jupyter notebook math extension. The project transforms Python variable names into Greek symbols, subscripts, and standard mathematical notation. It converts code into formatted mathematical expressions that display the original formula, the numeric substitution, and the final result, allowing for the crea
DataFrame is a C++ tabular data library and manipulation engine designed for managing heterogeneous data in contiguous memory. It functions as a statistical analysis framework and time series analysis toolkit, providing the means to store, index, and transform multidimensional datasets. The project distinguishes itself through a high-performance execution model that utilizes column-major storage, SIMD-aligned memory allocation, and a thread-pool for parallel computations. It employs a visitor-based algorithm dispatch system and policy-driven transformations to decouple data processing logic f
llrt is a low-latency JavaScript runtime based on the QuickJS engine, specifically designed for executing asynchronous functions in serverless environments. It provides a lightweight execution layer optimized for fast startup times and minimal memory usage when running ES2023 workloads. The project differentiates itself by bundling natively optimized cloud service SDKs directly into the runtime binary to eliminate external dependency loading. To further reduce cold start latency, it implements parallel connection warming for TLS and network handshakes during the startup phase. The runtime co
This project is a comprehensive library of practical Python code examples and patterns. It provides a collection of scripts and snippets designed to demonstrate a wide range of programming tasks, from basic syntax to advanced implementation patterns. The repository focuses on several core domains, including the implementation of concurrency and multithreading examples, data analysis snippets for cleaning and manipulating tabular data, and various data visualization examples. It also covers automation scripts for file system management and a variety of general programming patterns. Additional
QuantResearch is a quantitative research framework and specialized toolkit for algorithmic simulation, financial time-series analysis, and systematic trading. It provides an event-driven backtesting environment for validating strategies against historical tick and bar data, alongside a dedicated portfolio optimization engine for calculating asset weights and risk metrics. The project distinguishes itself through a machine learning finance toolkit that implements recurrent neural networks for price prediction and reinforcement learning for derivative pricing. It also features advanced statisti
This project is a Gradle plugin designed to facilitate aspect-oriented programming within Android applications. It functions as a build-time tool that intercepts method calls to inject cross-cutting logic, allowing developers to centralize concerns such as logging, security, or performance monitoring without modifying individual source files. The plugin distinguishes itself by its ability to perform binary dependency weaving, which applies instrumentation across both local source code and external library formats like JARs and AARs. By utilizing the Gradle Transform API, it integrates directl
This project is an educational resource and a collection of instructional materials for performing data manipulation and statistical analysis using Python. It provides a comprehensive set of guides and code examples for using the Pandas, NumPy, and Matplotlib libraries to analyze structured data. The resource includes a dedicated guide for reshaping, cleaning, and aggregating tabular data and time series via Pandas, alongside a reference for high-performance vectorized operations and linear algebra using NumPy. It also features tutorials for creating publication-quality charts, distribution p
MemReduct is a Windows memory management tool designed to monitor RAM usage and free up physical memory. It functions as a system cache cleaner that flushes working sets, registry caches, modified file caches, and standby lists to reduce overall memory consumption. The project operates as an automated memory optimizer, utilizing a background service to trigger cleaning routines based on predefined timeouts or resource thresholds. It includes a real-time monitoring dashboard to track system memory and pagefile statistics and provides a command-line interface for executing memory reduction task
This project is a collection of interactive Python notebooks and educational resources designed for mastering data science, machine learning, and numerical computing. It provides a series of practical guides and tutorials covering deep learning, big data processing, and statistical analysis. The repository features specialized instructional suites for implementing classical machine learning algorithms, building deep learning model architectures, and managing AWS cloud infrastructure. It includes dedicated notebooks for data visualization and numerical computing exercises. The project covers
Kats is a time series analysis framework and library providing tools for statistical characterization, anomaly detection, and trend forecasting. It functions as a toolkit for predicting future values based on historical data and identifying irregular patterns or structural change points within temporal sequences. The project includes a temporal feature extraction tool to calculate descriptive statistics and characteristics that summarize time series behavior. It also provides a system for model hyperparameter tuning using self-supervised learning to improve the scale and generalization of pre
PlotJuggler is an interactive time series visualization tool that loads, streams, and renders large datasets using hardware-accelerated OpenGL graphics. It functions as a multi-format data loader, supporting file formats such as CSV, ULog, and ROS bags, and also serves as a live data stream viewer that subscribes to real-time sources via MQTT, WebSockets, ZeroMQ, and UDP. The tool distinguishes itself through a plugin-based extensibility platform that allows users to add custom data sources, file formats, and processing capabilities. It includes a Lua scripting engine for creating custom data
This project is a bash scripting tutorial, shell automation library, and Linux system administration guide. It serves as a collection of practical examples and case studies designed for learning the Linux command line and shell programming. The repository provides a reference for Unix text processing and the creation of modular script libraries. It includes patterns for automating repetitive server tasks, such as software installation, network security configuration, and database task automation. The project covers a broad range of capabilities, including system monitoring and health auditin
Netdata is a real-time infrastructure monitoring tool and multi-node observability platform. It functions as a high-resolution monitoring agent, log and metric aggregator, and time-series database designed to provide full-stack visibility into server health. The system is distinguished by its per-second metric sampling and zero-configuration auto-discovery, which allows for immediate infrastructure tracking upon installation. It utilizes edge-based machine learning and unsupervised models to detect system anomalies and abnormal metric patterns locally on each node. For distributed environment
btrace is a JVM dynamic tracing tool and performance profiler used for injecting safe instrumentation scripts into a running Java Virtual Machine without requiring a process restart. It functions as a Java agent framework and a Model Context Protocol server, exposing JVM diagnostic operations and tracing tools to large language models and AI assistants. The project distinguishes itself by enabling real-time code injection and bytecode-level instrumentation via a secure binary protocol. It ensures production stability through a static safety analysis engine that blocks unstable code patterns,
JaCoCo is a Java code coverage tool and bytecode instrumenter that measures which parts of source code are executed during tests. It functions as a runtime agent to monitor application execution on the fly or as a library for offline bytecode instrumentation, allowing it to capture execution data in environments where runtime agents are restricted. The project distinguishes itself by providing both dynamic and static instrumentation paths to track execution. It includes a runtime agent for on-the-fly monitoring and the ability to modify compiled class files before execution. It further enable
This project is a comprehensive suite of essential command-line tools and standardized Unix-like utilities. It provides the fundamental building blocks for system administration, file management, and text processing on Unix-like systems, implementing a wide range of POSIX command-line tools. The collection is distinguished by its broad coverage of low-level system operations. This includes a complete toolkit for file system management, such as creating and modifying files and directories, and a specialized text processing toolkit for filtering, sorting, and transforming data streams. The pro
This project is a comprehensive pandas data analysis tutorial and instructional guide designed for learning data manipulation and analysis. It serves as a tabular data processing guide and a manual for time series analysis, providing a structured approach to cleaning, merging, and transforming datasets. The repository functions as a data feature engineering course, providing tutorials on constructing and selecting dataset features to improve machine learning model performance. It also includes a vectorized data operations guide for performing element-wise mathematical computations and matrix