2009-09-23

iPhone OS上のPyObjCアプリのボトルネック

PyObjCはPythonで手軽にアプリを開発するのにはとても良いのですが、iPhone/iPod touch上では起動にとても時間がかかります。

ちょっと調べてみたところ、常に使われる、"import objc" と "obj.loadBundle ("UIKit",...)" のコードの処理に、それぞれ約3秒かかっていることが分かりました。
Python自体は遅くないのですが、PyObjCを使用するための初期化の処理に5秒以上かかってしまいます。

また、PjObjCはとても大きなライブラリなので、メモリ容量の面からも不利です。
例えば、ネイティブのMobileAddressbook.appは5.7MBなのに、HelloPythonは11MBにもなります。
このことから、メモリのオーバーヘッドが5MBほどもあることが分かります。

いずれのオーバーヘッドもPyObjCとUIKitを使用したとき固有のものです。

[English version]

No comments:

Post a Comment