21 مستودعات
Tools for analyzing code performance and identifying bottlenecks.
Explore 21 awesome GitHub repositories matching part of an awesome list · Profiling and Benchmarking. Refine with filters or upvote what's useful.
Hyperfine is a command-line benchmarking tool used to measure the execution time of shell commands through multiple runs and statistical analysis. It functions as a comparative benchmarking utility and a shell performance analyzer, allowing for the evaluation of multiple commands against a reference baseline to determine relative speed. The tool distinguishes itself by isolating actual command performance through shell overhead correction and the ability to bypass the shell entirely using system calls. It supports parameterized execution, enabling benchmarks to run across a range of varying i
Command-line tool for benchmarking arbitrary shell commands.
This project is a collection of educational resources and technical guides focused on Go performance optimization. It provides instruction on improving execution speed and reducing memory usage through code and architectural refinements. The guides cover advanced strategies for low-level programming, including the use of assembly for SIMD instructions and unsafe pointers for direct memory manipulation. It also details concurrency optimization techniques such as lock sharding and cache-line padding to reduce contention and improve hardware utilization. The material encompasses broad capabilit
Provides methods for identifying bottlenecks using CPU/memory profiling and flame graphs.
Bullet is an Active Record performance monitor and query profiler for Ruby on Rails applications. It serves as a diagnostic utility to identify inefficient database access patterns, flag redundant requests, and suggest eager loading strategies to improve response times. The tool specifically detects N+1 queries, missing counter caches, and unused eager loading. It monitors these patterns across both standard web requests and background jobs, identifying records that are fetched but never accessed to reduce memory usage and query overhead. Analysis is supported by a system that intercepts dat
Detects N+1 queries and unused eager loading.
Criterion هي مكتبة لقياس الأداء الدقيق (microbenchmarking) تعتمد على الإحصاء وأداة لتحليل تراجع الأداء في Rust. توفر إطار عمل لعزل وقياس أجزاء صغيرة من الكود، باستخدام التحليل الإحصائي لإزالة الضجيج وضمان قياسات موثوقة وقابلة للتكرار لسرعة التنفيذ. تتميز الأداة بمجموعة تصور للأداء تولد تقارير HTML ورسوماً بيانية لتتبع اتجاهات الأداء والإنتاجية. وتتضمن نظاماً لمقارنة أوقات التنفيذ الحالية مقابل خطوط الأساس المخزنة لتحديد ومنع انخفاض الأداء. تغطي المكتبة قياس الدوال غير المتزامنة، والقياس المعياري المعتمد على المعاملات لتوسيع نطاق المدخلات، وحساب إنتاجية الكود. كما تدعم دمج مقاييس الأجهزة المخصصة وعدادات المعالج لالتقاط بيانات منخفضة المستوى أثناء التشغيل. يتم دعم الأتمتة عبر واجهة سطر أوامر لتصفية القياسات ووضع التحقق للتأكد من نجاح التنفيذ داخل خطوط أنابيب التكامل المستمر (CI).
Statistics-driven library for micro-benchmarking.
Bytehound هو ملف تعريف ذاكرة لنظام Linux يستخدم مخصصاً عالمياً مخصصاً لاعتراض طلبات الذاكرة وتتبع التخصيصات وإلغاء التخصيصات. يسجل تتبعات مكدس الاستدعاءات الكاملة لكل عملية ذاكرة لتعيين التخصيصات مرة أخرى إلى كود المصدر الأصلي الخاص بها. يتميز المشروع بنظام ملف تعريف ذاكرة عن بعد يقوم ببث بيانات الالتقاط عبر مقابس الشبكة إلى جهاز منفصل، مما يقلل من حمل الموارد على النظام المستهدف. يتم دعم التحليل بواسطة لغة استعلام متخصصة خاصة بالمجال تستخدم لأتمتة اكتشاف أنماط الذاكرة والشذوذ. تغطي الأداة تحليل تخصيص الكومة (heap) لتحديد التسريبات والتجزئة، بالإضافة إلى الاستبطان في وقت التشغيل لمراقبة وضبط حالات المخصص. يمكن تصدير البيانات وعرضها من خلال مصور قائم على الويب لتوفير تمثيلات رسومية لاستخدام الذاكرة وأنماط التخصيص.
Memory profiling tool for Linux environments.
This project is a performance analysis tool for Ruby applications using the Rack interface. It monitors request execution times and resource usage, serving as a profiler for web applications to measure latency and identify bottlenecks. The tool provides specific analyzers for database query performance, memory allocations, and garbage collection statistics. It generates call stack flamegraphs to visualize time distribution across methods and renders speed badges and timing metrics directly onto HTML pages. The system covers broader performance profiling capabilities including custom code blo
Profiler for development and production Rack apps.
Take a peek into your Rails applications.
Visual status bar for Rails performance metrics.
Sampling CPU profiler for Ruby
Sampling profiler for any running Ruby process.
a sampling call-stack profiler for ruby 2.2+
Sampling call-stack profiler for modern Ruby.
Ruby Tests Profiling Toolbox
Toolbox for profiling Ruby test suites.
A ruby profiler. See https://ruby-prof.github.io for more information.
Code profiler for MRI Ruby implementations.
Provides iteration per second benchmarking for Ruby
Benchmarks code iterations per second.
Quickly find bottlenecks in Rust - one profiler for CPU, time, memory, and async code.
Profiler for identifying execution hotspots and allocations.
Fast and simple benchmarking for Rust projects
Benchmarking library with integrated allocation profiling.
:zap: Powerful tool for avoiding N+1 DB or HTTP queries
Lazy batching to prevent N+1 query issues.
Enterprise-oriented Generic Proxy Solutions
Benchmark tool for HTTP, TLS, and DNS protocols.
🐰 Bencher - Continuous Benchmarking
Continuous benchmarking suite for detecting performance regressions.
An intrusive flamegraph profiling tool for rust.
Intrusive flamegraph generation for performance visualization.
A new profiler for Ruby. With a GUI
Ruby profiler with a graphical interface.
Find code blocking your Tokio workers. eBPF-powered, no instrumentation.
eBPF-based profiler for identifying Tokio runtime blocking.