強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Objective-CとC言語の速度差

Objective-CC言語の速度差を比較されているブログ記事。

Why game devs don’t use Objective-C « iPhone Open Source - Nick Vellios
http://www.vellios.com/2010/08/22/why-game-devs-dont-use-objective-c/

Objective-Cだと30fps、C言語だと60fpsと予想以上に影響が大きいみたいです。
ソースコードも提供されているので自分で試してみる事も可能です。

自分でテストした結果、確かにObjective-Cだと30fps周辺のスコアとなりました。
これは速度が必要な所はC言語で書いた方がよさそうですね。

ソースコードはデフォルトではC言語向けとなっていて、 HelloWorldLayer.h の最初の方でコメントアウトされている以下の記述を有効にするとObjective-Cの記述が利用されます。

//#define USE_OBJC

(2010/09/08 追記)
id:Seasons さんよりインスタンスの生成と破棄が毎フレーム毎に発生するのがボトルネックとなって速度差が大きくなっているみたいとの分析結果を頂きました。情報ありがとうございます!!

関連サイト

(2010/09/13 追記)
ObjCももっと上手く書けば遅くならないのでは?と検証された方のページ。

Objective-Cって遅いの? - Pentanium Reactor Blog
http://blog.goo.ne.jp/c5h12/e/5fbe5f22bfb77b542b9514e6ddd940af