PerfMiner provides the clues you need – Both for improving the performance of the software and debugging user problems.

  • When your software fails, what was the user doing, on which node, and how? Were they using the correct libraries and modules?
  • For tuning: What resources are under contention?
  • Where are the architectural bottlenecks in the code?
  • Is it worth tuning this application? What could you save? Where should you start?
  • Would an accelerator or GPGPU help you?
  • What are the I/O patterns like? Can you optimize them?
  • You decided on a change, it goes live. How does your new version compare to your previous version?
  • Your library changed. Or you upgraded the compiler. How has that changed performance, and why?
  • How well is your application scaling as you add more cores?
  • Do you have false sharing amongst caches?
  • If your nodes are not uniform, how does the node architecture impact your performance?