Posts

Showing posts with the label Profiler

Perf_Plotter: Benchmark and Visualize Application Performance with C# and R

Image
Perf_Plotter Log with C#, plot with R Shiny Your App → C# logger → CSV → R Shiny → Plots Perf_Plotter is an open-source tool for benchmarking and visualizing the runtime performance of your application. It has two parts that work together: a logging component written in C# and a plotting utility written in R. How it works The workflow is simple: a Windows Forms application (C#) launches your program and records its performance metrics into a CSV file. You then upload that CSV into an R Shiny web app, which reads the data and plots it so you can see how your application behaved over the run. What is in the project The repository (and the Perf_Plotter.zip bundle) contains two folders and one file: perfloggengui - the C# solution that generates the logs from your application. Uploads - sample log files so you can try the plotter immediately. app.R - the Shiny app you run in R to read a CSV and plot it. Using it Open the perfloggengui C# solution,...

50 Software Performance Analyzers (Profilers)

Image
What is Profiler? Most commonly, profiling information serves to aid program optimization. Profiling is achieved by instrumenting either the program source code or its binary executable form using a tool called a profiler (or code profiler). Reference: https://en.wikipedia.org/wiki/Profiling_%28computer_programming%29 Simply put, any tool or technique you use to analyze and optimize the performance can be called a profiler. How does Profilers work? Commonly used profilers simply examine the running program regularly to see what assembly instruction is currently being executed (the program counter) and which routines called the current function (the call stack). This kind of sampling profiler can work with standard binaries, but are more useful if you have debugging symbols to work out lines of code given addresses in the program.