iphone - Objective C 是否足够快用于 DSP/音频编程

标签 iphone objective-c performance audio

我在 iPhone 的音频编程方面取得了一些进展。现在我正在做一些性能调整,试图看看我是否可以从这台小机器中挤出更多。运行 Shark,我看到我的 cpu 能力的很大一部分 (16%) 被 objc_msgSend 消耗掉了。我知道我可以通过存储函数指针 (IMP) 而不是使用 [object message] 表示法调用它们来加快速度。但是,如果我要经历所有这些麻烦,我想知道使用 C++ 是否会更好。

对此有什么想法吗?

最佳答案

Objective C 对于 DSP/音频编程来说绝对足够快,因为 Objective C 是 C 的超集。您不需要(也不应该)将所有内容都作为消息。在性能至关重要的地方,使用纯 C 函数调用(或使用内联汇编,如果有硬件功能,您可以通过这种方式利用)。如果性能不是关键,并且您的应用程序可以从消息间接的功能中受益,请使用方括号。

例如,OS X 上的 Accelerate 框架是一个出色的高性能 Objective C 库。它只使用标准的 C99 函数调用,您可以从 Objective C 代码中调用它们,而无需任何包装或间接。

关于iphone - Objective C 是否足够快用于 DSP/音频编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2761388/

相关文章:

iphone - Objective-C:用大量文本拆分类的方法

javascript - 为什么canvas函数getImageData在不同情况下执行时耗时差异很大

iOS - 我的 heightForRowAtIndexPath 实现导致性能问题,为什么?

iphone - 资源后缀常量 : @2x, ~ipad, -568h

iphone - Objective C 无法释放 UIViewController

ios - UITableView 重新加载数据不起作用

iphone - 在指定的 UIView 中应用动画?

.net - .NET字典,速度惊人,但它是如何工作的?

iphone - 使用 xib 和通过代码添加的区别 - iPhone

iphone - iOS 7 中的进度 View 高度