.................................................
<< 08年08月 >>
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31


最近のコメント
10/07 北本
09/29 拝承
07/28 北本
07/20 ばてれん
10/26 北本
.............................
何となくリンク
.............................

2020年
02月
05月
2019年
04月 05月
08月 09月
2018年
01月 02月 03月
04月 05月 06月
09月
10月
2017年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2016年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2015年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2014年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2013年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2012年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2011年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2010年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2009年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2008年
01月 02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月
2007年
02月 03月
04月 05月 06月
07月 08月 09月
10月 11月 12月

レスを書き込みます




Javaと C言語でバッチ処理速度を測定してみた 2008年8月13日(水)23時03分
分類:マメ知識 [この記事のURL]

一般論として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の勉強しときます。


nik5.144