ライブラリの1つを使用していたときに、何か奇妙なことがわかりました。特定のファイルタイプの読み取りを担当するクラスライブラリがあります。そして、それはその仕事をうまくやっています。
Read
このクラスライブラリプロジェクトのクラスのメソッドを、2つの異なるプロジェクト(WPFとコンソール)で使用しました。
私が見つけたもの:WPF Application
クラスライブラリを使用して40MBのファイルを読み取るには、17分かかります。ただし、同じファイルを使用して読み取るには1分Console Application
かかります。
これは、2つの異なるプロジェクトで使用しているものと同じコードです。
DateTime t1 = DateTime.Now;
var geometris = MyLibrary.Read(fileName);
TimeSpan dt1 = DateTime.Now - t1; //dt1: 17min for WPF
//dt1: 1min for Console
私が試したもの:のConsole Application
プラットフォームターゲットはx86であり、WPF Application
のターゲットプラットフォームはAnyCpuであることがわかりました。そこで、WPF
のターゲットプラットフォームをx86に変更して、再度実行しました。今回の実行時間は3分 (14分速かった)でした
質問:ターゲットプラットフォームの変更がそのような影響を与える方法を知っている人はいますか?それでも、なぜWPFアプリなのかわかりません。ライブラリから同じ入力を使用して同じメソッドを呼び出すと、コンソールより2分遅くなりますか?