C++ Mac OS X上的高性能代码

C++ Mac OS X上的高性能代码,c++,profiling,latency,C++,Profiling,Latency,我想知道在OS X上评测应用程序代码的最佳方法。我有一个纳秒分辨率计时器,在一些基线测试之后,我似乎遇到了一个大约45微米的内核系统调用上下文切换(macbook 2ghz core2 duo型号) 我注意到,如果我让我的应用程序每隔一段时间循环一次,我可以得到一个约25000-50000微的调度上下文切换。我正在测试一些算法,我想限制它的影响 我真正想要的是能够设置任务的处理器亲和力,并将主线程优先级设置为realtime,这并不是一件坏事,因为有一天,这款Macbook可能会被用作某些事情的

我想知道在OS X上评测应用程序代码的最佳方法。我有一个纳秒分辨率计时器,在一些基线测试之后,我似乎遇到了一个大约45微米的内核系统调用上下文切换(macbook 2ghz core2 duo型号)

我注意到,如果我让我的应用程序每隔一段时间循环一次,我可以得到一个约25000-50000微的调度上下文切换。我正在测试一些算法,我想限制它的影响


我真正想要的是能够设置任务的处理器亲和力,并将主线程优先级设置为realtime,这并不是一件坏事,因为有一天,这款Macbook可能会被用作某些事情的低延迟控制器。关于如何在雪豹/XCode上实现这一点,您有什么想法吗?

您可以在XCode中使用Shark。还有DTrace。

如果你想要一个有保证的低延迟控制器设备,个人电脑是不会削减它的。如果你想避免昂贵的上下文切换,像a(例如a)这样的东西通常用于这种情况。你可以从将实时/高优先级程序与应用程序的主线程分离开始。在主线程上发生的所有事情当然不是高优先级的。(既然你说了“app”,我假设你指的是一个带有UI的程序,而不是一个类似于实用程序或代理的程序),如果你试图对代码的非常快的部分进行配置,考虑把它们放在一个循环中,重复操作1000次,然后测量它。至少我是这样做的。