Xcode Instruments: Mismatch Time Profiler results vs. CPU Cycles

Recently, we reworked a crucial part of our app and managed to half the amount of CPU cycles our app requires (according to Xcode Instruments).

Nonetheless, when using the Time Profiler component in instruments, it shows that the CPU time spent was either higher or the same (depending on execution).

The main time-consuming factor here: libsystem_pthread.dylib - the amount of CPU time spent by this library has doubled from original implementation to reworked implementation.

Therefore, I'm having a few questions:

  • How should I interpret this result?
  • How is this even possible if the CPU clock cycles halved?
  • What is the better metric here, the CPU cycles or the time profiler?
  • How can I reduce the impact of that said library? What does that library do and how can I influence its performance?

Thanks in advance.

Xcode Instruments: Mismatch Time Profiler results vs. CPU Cycles
 
 
Q