今日も、大学に行ってプログラムを速くしてました。なぜ速くしないといけないかというと、1通りの結果を出すのに1回1日かかってしまうから。できれば数時間程度で終わってくれれば、大学にいる最中に走らせながらいろいろ試せるのに。
ということで、今日は欠損値を示すクラスをとっぱらって、ひたすらdouble型で表現して計算するようにしてみました。あと、連続DPの計算途中のデータを捨ててたので、捨てないようにして次の計算の時も再利用してみました。
そしたらかなりすごいことに。1時間かかってた処理が5分程度で終了!約10倍の速さに!以前は50個のテンプレートを比較するのに4秒程度かかってたのが、今では0.4秒。違いすぎ。しかも、テンプレートの処理する順番と、履歴を利用する計算方法のおかげで尻上がりにスピードが上がっていくのが見てて面白かったです。やっぱりインスタンスを生成する処理は重たかったんですね。
ここまで来たら最適化する意味はなくて、ひたすら生成されたデータの整理です。グラフにするのにもいろいろと面倒なことをしないといけないので、そのあたりを地道にやっていけば良いかと思います。今後の方針として、他のデータとの照合と、Unnormal Detectionってやつを手がけます。あと1週間くらいで、何か結果が出るんでしょうか。
コメントする