Pythonistaが遅いのはnumpyのバージョンが古いせい?
iOSアプリのPythonista。iPhoneやiPadでpythonの環境が使えるようになる。
http://omz-software.com/pythonista/
私も熱狂して、「これならノートPCの代わりにiPadだけ持ち歩けば済むのでは!?」とワクワクして弄っていた。
以下ディスるような内容になっているが、そんなことは些細な話でPythonistaは本当に素晴らしいアプリだよ念のため。
使ってみると日常の小物プログラム程度なら全くストレスはない。しかし機械学習くらいの反復処理を実行するとなるとPC上のpythonに比べて遅さが目立つ。
なおPythonistaでは、iOSの制約のため使用できるライブラリが限られる。このため両者とも機械学習ライブラリは使用せず、numpyのみで実装したスクリプトを使って比較している。
さらに言うと使用マシンの方もiPad Pro(2017)とMacBook Air(2018)で、ベンチマーク上両者はほぼ互角の性能だ。
スクリプトの挙動などから疑わしい検索ワードをいくつか試してみると、たとえば古いnumpyのroll関数は遅さで悪名高いなどの情報があった。
https://github.com/numpy/numpy/issues/10848
実際使用したPythonista(v.3.2)のnumpyのバージョンは1.8.0。PC上のpythonのnumpyのバージョンは1.16.2。これは配布されている最新版だ。
うーむ。やはりnumpyが古いせいなのかな?
じゃあPythonistaのnumpyをアップデートすればいいのか?
しかしざっとググった範囲では、StaShを使ったnumpyのアップデートは上手くいかない模様。実際私の環境でもnumpyを呼び出すとエラーが出るようになり、Pythonistaごと再インストールすることになってしまった。ちなみにPythonistaで最初から使えるnumpyはアプリに静的ライブラリとしてリンクされているものとのことだ。
https://forum.omz-software.com/topic/5243/pandas-needs-newer-numpy
これ以上は私の手には負えなさそうなのでトライは終了。
新規情報を待つことにするわ。