Performance analysis

Open-source projects categorized as Performance analysis Edit details

Top 23 Performance analysis Open-Source Projects

  • lighthouse

    Automated auditing, performance metrics, and best practices for the web.

    Project mention: Improving performance in a hierarchical SQL table structure with column propagation | dev.to | 2022-06-02

    The website should score 80+ in performance, SEO, and accessibility in Google Lighthouse tests. Plus, the load time should always be less than 2 seconds and ideally in the order of a few hundreds of milliseconds. The real challenge lies here, since the website consists of more than 2 million pages, and pre-rendering them all will take weeks. Also, the content shown in most of the pages is not static. Thus, we opted for an incremental static regeneration approach. When a visitor hits a page no one ever visited, Next.js generates it with the data retrieved from the APIs exposed by the backend. Then, Next.js caches the page for 30 or 60 seconds, depending on the importance of the page.

  • go-perfbook

    Thoughts on Go performance optimization

    Project mention: Does anyone have tutorials about performance hacks in golang? | reddit.com/r/golang | 2021-08-08
  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • py-spy

    Sampling profiler for Python programs

    Project mention: What are some python micro optimisations that you can/may *actually use* in your codebase? | reddit.com/r/Python | 2022-06-03

    CProfile is one, it comes built into the python standard library. https://docs.python.org/3/library/profile.html. py_spy and memray are another two you can check out. https://github.com/benfred/py-spy https://github.com/bloomberg/memray.

  • scalene

    Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python

    Project mention: Memray is a memory profiler for Python by Bloomberg | news.ycombinator.com | 2022-04-20
  • pprof

    pprof is a tool for visualization and analysis of profiling data

    Project mention: Does rust have a visual analysis tool for memory and performance like pprof of golang? | reddit.com/r/rust | 2022-05-14

    pprof is https://github.com/google/pprof, it's a very useful tool in golang , and really really really convenient

  • tracy

    C++ frame profiler

    Project mention: Is there a tool showing the memory of your program in a visual way while it's running? | reddit.com/r/rust | 2022-06-22
  • easyloggingpp

    Single header C++ logging library. It is extremely powerful, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.

  • JetBrains

    Developer Ecosystem Survey 2022. Take part in the Developer Ecosystem Survey 2022 by JetBrains and get a chance to win a Macbook, a Nvidia graphics card, or other prizes. We’ll create an infographic full of stats, and you’ll get personalized results so you can compare yourself with other developers.

  • perfview

    PerfView is a CPU and memory performance-analysis tool

    Project mention: Get network usage or progress state of a specific process | reddit.com/r/PowerShell | 2022-05-30

    While there's no native way of doing this in PowerShell. I did come across this StackOverflow post showing how to do this in C# https://stackoverflow.com/questions/17026204/retrieve-process-network-usage Perhaps it's possible to replicate it if you load in the required dll, should be able to find it in the PerfView GitHub https://github.com/microsoft/perfview/blob/main/documentation/TraceEvent/TraceEventLibrary.md Or directly from the NuGet page https://www.nuget.org/packages/Microsoft.Diagnostics.Tracing.TraceEvent/

  • coz

    Coz: Causal Profiling

    Project mention: Performance variation when moving functions between files | reddit.com/r/rust | 2022-06-17

    Could it be an issue of binary layout? Have a look at the coz profiler which has a rust port.

  • JITWatch

    Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.

    Project mention: SIMD accelerated sorting in Java – how it works and why it was 3x faster | news.ycombinator.com | 2022-06-12

    If you use Oracle's own IDE, it will support it out of the box, as it already did on Sun's days.

    Then there are other ways depending on which JVM implementation is used.

    On OpenJDK's case you can load runtime plugin to do it

    https://github.com/AdoptOpenJDK/jitwatch

  • hotspot

    The Linux perf GUI for performance analysis.

    Project mention: Linux Perf Examples | news.ycombinator.com | 2022-03-18

    > [...] how Perf compares to vendor tools like vTune [...] ?

    Regarding the hardware events that Perf can capture on x86, it has pretty much all of them. So it should be equivalent to vTune for all practical purposes.

    The big difference is in the UI -- or absence thereof. Perf is a low-level tool and its output is mostly text files. There is a curses-based TUI for perf-report (and even gtk version, but it is essentially the same as the TUI, just using GTK2 widgets), but that's about it.

    By contrast, vTune comes with a heavy (electron-based?) GUI and is quite helpful in guiding beginners, with many graphs and explanations.

    Of course, one can (and is expected to) complement Perf with an assortment of tools that process its output for visualization. For example, the flamegraph [1] and heat map [2] tools described in the article. But also KDAB hotspot [3] or HPerf for a vTune-style perf-report.

    [1] https://github.com/brendangregg/FlameGraph

    [2] https://github.com/brendangregg/HeatMap

    [3] https://github.com/KDAB/hotspot

    [4] https://www.poirrier.ca/hperf/

  • fgprof

    🚀 fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together.

  • MTuner

    MTuner is a C/C++ memory profiler and memory leak finder for Windows, PlayStation 4 and 3, Android and other platforms

    Project mention: What do you want out of a Rust profiler? | reddit.com/r/rust | 2022-02-09

    I would really love to have some memory profiler that is capable of dealing of huge amount of data and allocations, robust and stable with stack traces on allocations. Similar to https://github.com/milostosic/MTuner

  • pcm

    Processor Counter Monitor

    Project mention: PCIe Bus limits, triple display 2020 MBP 13 | reddit.com/r/applehelp | 2022-03-23

    Also read about Intels PCM.. and the OPCM but I cannot determine if it supports Big Sur.. I've ran into issues after the cmake processes so the binaries fail to run.

  • MTHawkeye

    Profiling / Debugging assist tools for iOS. (Memory Leak, OOM, ANR, Hard Stalling, Network, OpenGL, Time Profile ...)

  • php-spx

    A simple & straight-to-the-point PHP profiling extension with its built-in web UI

    Project mention: How to profile your PHP applications with Xdebug | news.ycombinator.com | 2022-05-07

    https://github.com/NoiseByNorthwest/php-spx

    SPX could be loaded with docker-compose like this article does for Xdebug. But if you already have a PHP environment, the easiest way to install it is to compile it (sudo apt install php-dev && make && cp modules/spx.so /usr/lib/php/....).

  • honest-profiler

    A sampling JVM profiler without the safepoint sample bias

  • import-cost

    displays the import size of the package you are importing inside the code editor

    Project mention: Good import cost plugin | reddit.com/r/neovim | 2021-09-21

    coc-import-cost seem have been maintained better.

  • tidyquant

    Bringing financial analysis to the tidyverse

    Project mention: How do i fix this error message? | reddit.com/r/RStudio | 2022-05-19

    i looked up ur error and found this check if there is a package u need to update

  • JMH

    "Trust no one, bench everything." - sbt plugin for JMH (Java Microbenchmark Harness)

    Project mention: Why is Scala so much slower than JavaScript/Node at running iterations? | reddit.com/r/scala | 2022-02-13

    Take a look at sbt-jhm for doing benchmarks. Java in particular is hard to measure because of optimizations that happen at run-time. jhm runs multiple iterations and gives tools to ensure that function calls and loops that may be optimized away are kept around and tested. You may also find some cases that are faster in node.js because the Javascript V8 engine is highly optimized.

  • s3-benchmark

    Measure Amazon S3's performance from any location.

    Project mention: Ask HN: Have you ever switched cloud? | news.ycombinator.com | 2022-04-08

    There's another benchmark somewhere showing S3 can max out a 100Gbps instance.

    https://github.com/dvassallo/s3-benchmark

    Another potential issue is ListBucket rate limiting. If you have lots of small objects, you'll spend most of the time waiting to discover the names than transferring data

  • jHiccup

    jHiccup is a non-intrusive instrumentation tool that logs and records platform "hiccups" - including the JVM stalls that often happen when Java applications are executed and/or any OS or hardware platform noise that may cause the running application to not be continuously runnable.

    Project mention: Introducing KoolKits - OSS Debugging Toolkits for Kubernetes | dev.to | 2022-02-28

    JVM KoolKit – jvm-profiler, jHiccup support

  • atop

    System and process monitor for Linux

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-06-22.

Performance analysis related posts

Index

What are some of the best open-source Performance analysis projects? This list will help you:

Project Stars
1 lighthouse 24,780
2 go-perfbook 9,864
3 py-spy 8,612
4 scalene 5,797
5 pprof 5,541
6 tracy 3,975
7 easyloggingpp 3,176
8 perfview 3,156
9 coz 2,967
10 JITWatch 2,672
11 hotspot 2,627
12 fgprof 2,151
13 MTuner 2,074
14 pcm 1,791
15 MTHawkeye 1,336
16 php-spx 1,299
17 honest-profiler 1,196
18 import-cost 1,177
19 tidyquant 751
20 JMH 740
21 s3-benchmark 622
22 jHiccup 613
23 atop 528
Find remote jobs at our new job board 99remotejobs.com. There are 4 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.
www.sonarlint.org