こんなに違うのか!!

と思わずうなってしまった。
基本的Windows畑で育っていたので、WindowsコンパイラCygwin等でしか、ほとんどプログラミング経験はありませんでした。


しかし、今回は実装部分で実行時間に重大な問題を抱えているので、それをなんとかしないといけないということで、Linuxでのプログラミングを行うことに。
まぁOSが違うだけだしどうってことないっちゃないんですが、どうも敷居が高い気がするのは僕だけではないでしょう。


なぜLinuxに移ったかと言うと、
1、どうやらSVMをファイルでの読み書きではなく、オンメモリで動作するものに作り変えなければならない。ただし、現在使っているSVMオープンソースのパッケージものなので、ソースコードを改変するだけでよい。しかしながら、Cygwingではmakeがうまく動いてくれなかった。マニュアルを読むとLinuxではmake一発でインストールまでこぎつけるらしい。


2、インテルコンパイラ目当て。Linuxでは無償配布されているという情報を聞きつけて。


で、とりあえずデュアルブートのために研究室の計算機にはVine Linuxがインストールされているので、それで今まで使っていたプログラムをとりあえずコンパイル。大量エラーを覚悟していたけど、以外にあっさりとコンパイルが通る。
ただのCなので、当たり前っちゃ当たり前だけど、ほっと胸をなでおろす。


んで、問題のSVMのパッケージ。
とりあえず改良はまたにして、とりあえずmakeでインストールしてみた。
こちらも一発OK。


お、と思い、とりあえず実行開始。
ん??
速い!
目に見えて速さが違う。
プログラムの実行を目で追いながら実行時間を概算したところ、どうやらWindows側で動かしていたときより3〜5倍程度速い。
やった。


と思ったが、今実行したい規模でのプログラムではやはり5日とかかかってしまう始末。
ちょっとがっかり。
とりあえずLinuxでのプログラミングにかなりの優位性を見出した一日だった。