在iPhone或其他便携式硬件上编程CPU密集型或GPU密集型应用程序时,您必须做出明智的算法决策,以使您的代码更快.
但是,如果你使用的语言表现得比另一种语言差,那么即使是很好的算法选择也会很慢.
有没有比较Objective-C和C++的硬数据,特别是在iPhone上,但可能只是在Mac桌面上,以获得各种类似语言方面的表现?我非常熟悉这篇比较C和Objective-C的文章,但这是一个比较两种面向对象语言的更大问题.
例如,C++ vtable查找是否真的比Obj-C消息快?多快了?线程,多态,排序等.在我开始构建具有重复对象模型和各种测试代码的项目之前,我想知道是否有人已经完成了这个以及结果在哪里.这种类型的测试和比较本身就是一个项目,可能需要相当长的时间.也许这不是一个项目,但可以比较两个而且只有输出.
我正在寻找硬数据,而不是传福音.像许多人一样,我喜欢和讨厌两种语言,原因各种各样.此外,如果有人在那里积极地追求同样的事情,我会有兴趣投入一些代码来查看最终结果,我相信其他人也会帮忙.我的猜测是他们都有优点和缺点,我的目标是准确找出它们是什么,以便在现实世界的场景中避免/利用它们.
从Objective-C调用C代码是否有任何性能提升?
我读过某个地方,与使用函数调用的其他语言相比,消息传递速度较慢.因此,如果我从Objective-C代码调用C函数,我是否避免了消息传递开销?
在优化性能时,是否建议使用C语言编写最关键的函数和过程而不是使用Objective-C对象?
编辑:
鉴于有关过早优化和代码可读性的警告的数量,我想澄清我没有考虑常规应用程序,但非常具体的应用程序,如:
通常,函数或过程不需要OO设计,并且打算使用参数多次调用.