1

カスタム計算を実行する電卓クラスがいくつかあります。従来、これらのクラスのメソッドは、実行時間が長く、BackgroundWorker を介して起動されていました。

最近、C# で新しい非同期サポートを使用するようにアプリケーションを変換しており、現在は Task.Run() を介して同じメソッドを実行していますが、実行速度が約 5 ~ 7% 遅いことに気付きました (これは私の中では大したことです)。応用)。

スレッドプール スレッドが BackgroundWorker が行っていたものよりも遅い理由は明らかですか?

計算ロジックを変更するつもりはありません。計算メソッドを Task.Run() に渡して (そしてそれを待っている) だけなので、速度の低下を説明する変更を自分で導入していないことは確かです。

4

1 に答える 1