.................................................
.............................
何となくリンク
.............................
|
|
2008年08月13日の雑記
|
一般論としてC言語は処理が高速と言われています。
ちょうど今、Javaの開発現場にいるので、JavaとC言語で、
ちょっとしたプログラムを作りました。これで実験してみた。
まず、どんな処理を行うのか。
---------------------------------------------------------------------
実行ファイルと同じフォルダに置かれている拡張子が javaのファイル全てに対して、code.txt の中に羅列されている文字を順番に検索していく。
検索対象のJavaファイル全てに対し、
code.txtに書かれた文字が含まれていない場合、
result.txt に含まれてない文字を出力する。
---------------------------------------------------------------------
というプログラムです。わかりづれー。
実際ソース見た方が早いよ、って人は、これがソースと実行ファイルになります。
C言語とJavaで同じ動きをするプログラムを作りました。
検索対象ファイルとして、3794310行のJavaファイルを3つ用意。
×3ファイル。
検索対象文字は、以下の3ワードにしました。
----------------
1111 aaaa ああ
----------------
何れも、この文字列は上記Javaファイルで使用されていません。
よって1ワードづつ3794310行×3ファイルを最後まで検索して、
最終的に何れのファイルでも使用されてないとして、
result.txt に1111 と aaaa と ああ が出力される結果になります。
それでは実際に計測してみました。
まずはJavaで作ったプログラムから。デバッカから叩いてみた。

57.672秒という結果になりました。
続いてC言語で作ったプログラム。

27.59秒です。
C言語の方が処理時間が半分になってます。
やはりコンパイルされてるだけあってC言語は早い。
Javaは正確に言うとコンパイルされてる訳じゃないから、
処理が遅くなるのは当たり前なんですが。
だけどコーディング的にはJavaの方がスマートに実現できるな、と思った。
とりあえず、もう少しJavaの勉強しときます。
|
|
|