私はちょうど.netコア1.0に準拠するように既存のコンソールアプリケーションをリファクタリングしました。なぜ.netコア1.0は明らかに.netフレームワークアプリよりもはるかに遅いのですか?
リファクタリングされたコードを.net 4.5.2(exeとして)でコンパイルして実行すると、12秒で実行されます。私が.netコア1(つまり "ドットネット"を使用して)で同じコードを実行すると、24.3秒で実行されます。
これが期待どおりの動作ですか?もしそうでなければ、私が確認できるものは何ですか?
マイケル
「ドットネット実行myproject」と「ドットネットmyproject.dll」のどちらを実行するかを指定できます。最初は多くの検査とオンデマンドコンパイルを行い、2つ目はdllを実行するだけです。結果は劇的に異なります。 – Thomas
私は "dotnet run .."を使用していました。私は別のオプションがあることを知らなかった。後で: "dotnet publish"を使ってアプリケーションとそのサポートライブラリのフォルダを作成し、 "dotnet my_app.dll"で実行しました。タイミングはほんの少しだけ良かった。しかし、可能性のある手掛かりがある:私が "公開"したときに、bin/Debugの公開フォルダが作成されたので、デバッグ用のものが膨大になるかもしれないと思うだろうか?私の遅さを説明しますか? –
"dotnet publish"の "-c release"オプションが見つかりました。結果のアプリケーションは、デバッグ情報が含まれているアプリケーションよりはるかに高速であるようです。実際には、.netフレームワークライブラリ上で実行可能ファイルとして実行されている同じコードとほぼ同じ速度に見えます。 –