Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install "perf" on Mac

I need the "perf" utility to monitor the program on my Mac. I know linux comes with it, but is it available on Mac?

I am working on a OSX 10.9 Mavericks and tried "port search" for perf or linux-tools, but I couldn't get any results.

like image 268
wlhee Avatar asked Apr 21 '14 15:04

wlhee


People also ask

Does perf work on Macos?

Perf is a powerful Linux tool - it can instrument CPU performance and is capable of lightweight profiling. You can get more context about what perf can do here. It is usually included in the Linux kernel, but there's no way install it on a Mac.


2 Answers

As @Sami Laine said in his comment, the Linux perf tool is dependent on Linux specific code. It relies on the perf_event_open system call which is not standardized.

Note: Maybe you could search how MacOSX users are using recent hardware performance counters.

like image 132
Manuel Selva Avatar answered Oct 08 '22 11:10

Manuel Selva


Instruments app

On macOS you can use the Instruments application to profile your code.

I like to use the "Time Profiler" which will show you how much time your application is its various parts during execution. I haven't used perf myself, but from talks/videos that I've seen this seems to be the most common use.

To use the "Time Profiler":

  1. Run Instruments, select Time Profiler
  2. At the top left, select your target (executable).
  3. Hit the Record button on the top left and let it run for a little while.
  4. Pause or Stop the execution and drill down on your calls in the main window.

Hope this helps.

like image 27
nenchev Avatar answered Oct 08 '22 12:10

nenchev