Sparkling gems and new releases from the world of Free and Open Source Software

Perf GUI


Perf is one of those commands that desktop Linux users might not appreciate is so fundamental to their Linux experience. That's because perf is a tool aimed squarely at developers to help them peek inside their application's internals, as well as the internals of the Linux operating system itself. Running perf against the binary for an executable built with debugging symbols will collate everything that the binary does and where it spends its time. But perf is complex and deep, requiring good working knowledge of the underlying operating system and system calls to be most useful. This is why a GUI can be so helpful, and it's one the reasons why Qt Creator with its integrated Callgrind support (a tool similar to perf) is so popular.

hotspot is a new GUI for perf that does away with the need for a complex IDE if all you want to do is get a visual overview of what an application is doing. It can even open source files in Qt Creator, as well as Kate or another editor if you so choose. You need to generate the perf data first, which requires running your application against your choice of perf arguments. For example, running

perf record -e cycles,   instructions ./filmulator-gui

within the build directory of filmulator-gui loads the photo-processing tool and collates perf data at the same time. You then use the application just as you would, quit, and load the resultant file into hotspot. This immediately shows that develop() and LibRaw::median_filter() are the two post-processor-intensive functions taking up 30 percent of the cycles while the application is running. This behavior is what you'd expect, because these functions are presumably generating the image previews, but it gives you a good indication of where your efforts, as a developer, might go when improving performance. Which is exactly what perf is good for.

Project Website

perf produces difficult-to-understand output on the command line, but hotspot does a great job visualizing it.

Material shader

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Vim Housekeeping

    A plugin manager can help you corral your growing collection of Vim plugins. Choosing one depends on your personal preferences.

  • Command Line: Vundle

    If you use Vim, you'll likely need a tool to manage its hundreds of plugins. Vundle can help.

  • Command Line: Vim Plugins

    Managing plugins is a requirement for Vim users, and plugin managers can make the task easier. We look at four options.

  • What's new in Vim 8

    We explore the new goodies in the latest release of this classic text editor.

  • FOSSPicks

    After watching Ubuntu help NASA with its first controlled flight on another planet, Graham spent far too much time this month visiting Mars in Elite Dangerous, via Proton on Linux.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More