私はhaskellを使ってログファイルを分析するアプリケーションを作成しました。 同じログファイルで実行すると、30秒かかる場合もありますが、20秒かかる場合もあります。実行時間は最大10秒です。同じhaskellアプリケーションを実行して差分を取る
なぜこのような実行時間に大きな違いがありますか?
私はhaskellを使ってログファイルを分析するアプリケーションを作成しました。 同じログファイルで実行すると、30秒かかる場合もありますが、20秒かかる場合もあります。実行時間は最大10秒です。同じhaskellアプリケーションを実行して差分を取る
なぜこのような実行時間に大きな違いがありますか?
この違いは、システム上で同時に実行されている他のプロセスが原因と考えられます。
処理時間とファイルアクセス時間を分けてください。
ファイル全体をメモリに読み込み、その時間を追跡し、ストレージストラトールのデータを処理し、その時間を別々に追跡します。
私の本能は、ファイルアクセスがランダムなcontriubtorであるということです。腸の本能は、プロファイラの代わりには適していません。
私は同じ関数をPython言語を使って実装し、Pythonスクリプトを実行して、ほぼ同じ時間を費やしました。約20秒くらいでした。 – yjfuk
それぞれ何回テストしましたか?たぶん、Pythonのものは同じように変わりますが、あなたはそれを見るのに十分な時間を実行していませんか? – Herms
私は何度も試みましたが、結果は同じでした – yjfuk