外は初雪

年始は忙しすぎてシャレにならなかったが、ようやく研究に時間が費やせるようになった。
そしてついに、そこそこ早いノートPCを入手。
DELLその他では早めのCPUを制約条件下では搭載できず、諸事情の結果VAIOとなった。
2年前まではC#GUI作成&数値計算をしていたが、もはやまったく覚えていない。
やはり、使い慣れたMATLABに(手軽さで)勝るものはなく、結果的にWINDOWSユーザーのままである。
新しいPCは、以前のノートの5倍程度の速度で計算を実行したが、自分が必要とする計算量には程遠い。
(メモリ不足によって計算が終了してしまう。)
そこで、今まで全く興味のなかったプログラム高速化について調べてみた。
その結果、場合によっては100倍以上速くなることがわかった。
以下、MATLAB高速化メモ
・tic (MATLABのコード) toc:計算速度が毎回表示される。
・巨大な行列は予めメモリを確保しておく
・ベクトル・行列は最小限に
・出力は小分けにして、あとから合体
・一時的に不使用な変数は削除などする
・手作り関数ではなく、できるだけデフォルトの関数を使用する
・32bitのOSでは、そもそも2G以上割り当てられない
超基本らしいが、今まで全く無視していた自分が悲しい。。
なお明日も東大に行けないっぽいっす…