卒研で考えていることと、OSごとの実行ファイルの実行速度の差

投稿者: | 2020年1月9日

卒研で2周間以内には成果を出さないといけないので、色々やっているところです。

とりあえず、正月に書いてたchachaのコードを変えて、2^32個のkey streamのリストを256個作成するようにしました。

これは、RC4への平文回復攻撃で使われていた手法を真似るためです。

そうやって書いたコードが以下の通りになっています。

さて、このコードの実行にはものすごく時間がかかることが予想されます。

そのため、手持ちのMBAで実行することがためらわれたので、研究室のwindowsマシンで実行しようとしました。

しかし、windowsマシンでコンパイルし、実行ファイルを実行すると1000個のkey streamを作成するのに20秒以上要するようになりました。

MBAの方でも同様な症状が出ていました。

そのため、M2の人に相談したところ、試しにubuntuマシンで動かしてみることになりました。

結果として、ubuntuマシンでは正常な速度で動きました。

※ここでいう正常な速度とは、正月に書いて実行したときのkey streamの生成速度のことです。65000個あたり30秒程度でした。(正確には測っていません)

流石におかしいと思って、正月の頃のコードにロールバックさせてみましたが、正常に動きません。

その後、コードを眺めて、

[cpp] for(int q = 0; q < max_size; q ++) [/cpp]

となっていたところを、

[cpp] for(int q = 0; q < max_size; q++) [/cpp]

としてMBAで実行させたところ、正常な速度で実行され、テストとして設定していた、1ファイルあたり2^16個のkey streamのkey streamのファイルが256個正常に出力されました。

修正箇所は、qと++のあいだにあったスペースです。慌てて書いた部分だったので、無駄にスペースが入ったらしいです。

さて、この修正したコードをwindowsマシンで動かしたところ、やはり正常な速度がでません。むしろ遅くなったぐらいです。

なんでやろ?

追加

ファイル名が想定通りに出ない用になっている(ASCIIコードにするのは謎)

そもそも出力ファイルサイズが110TBになるので、頭がおかしい。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください