重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

あるプログラムが、300KBytesほどのShift-JISのファイルを
UTF-8に変換するに、0.2秒程度かかります。

これって、早いでしょうか?遅いでしょうか?
感覚的な印象で良いので教えてください。
遅くておかしい!ということであれば、原因を調査しなければなりません。

マシンはCeleron 2.3GHzです。

A 回答 (4件)

速いか遅いかはともかく、当方の測定結果です。


入力側テキストのバイト数=344045(漢字の比率は10%くらい)
CPU=Pentum(D)2.8GHz メモリ=1G
10回あたりの平均は20mSでした。

変換処理はADOのStreamオブジェクトにあるCopyToメソッドを使いました。
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2008/11/12 17:41

0.2秒と言うのは、計測結果としては、あまり有効な値とは思えません。


計測誤差を、少なくするために、もっと大量のデータで検証した方が良いと思います。

例えば、10秒間に、どれ位のデータを変換出来るか。
などのようにです。
    • good
    • 0

早いとも遅いとも言えない。



変換速度が遅いかどうか調べる場合は、
「Shift-JISを与えたらUTF-8を返す関数」を呼ぶプログラム

「Shift-JISを与えたらなにもしないでShift-JISを返す関数」呼ぶプログラム
の二つのプログラムを同一環境下で動作させ、実行時間の違いを比べねばならない。

もし、この2つが「前者は0.2秒、後者は計測不能なほど一瞬」であれば「変換関数が遅い」と判る。

もし、この2つが「前者も後者も0.2秒」であれば「変換関数は遅くない。それ以外のファイル入出力が遅い」と判る。

このように「何が遅いか突き止めたい」場合は、色々と「ダミー関数」を用意して、それと差し替えて、実行速度を計測してみると良い。
    • good
    • 0
この回答へのお礼

理系的な回答をありがとうございます(^^;

そうした調査するほどのものかどうかの判断のために、
こうして感覚的な印象を訊いたわけでして...

お礼日時:2008/11/14 16:25

>これって、早いでしょうか?遅いでしょうか?


・そのPCで同時に動いている(OSも含めた)プロセス数
・プログラムのアルゴリズム
・変換元にデータの位置(メモリ、ファイル)
等の要因によりいくらでも変わりますから、なんとも判断できません。

個人的には300kByteであれば妥当かなとは思いますが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!