2017-04-19 26 views
-1

Igniteのドキュメントを読んでいますが、現在はthe section about performanceです。ここでは、(強調鉱山)書かれているものです:スレッドプールを設定してコンテキストを切り替える

デフォルトでは、のIgniteがあり、それが2回 利用できるCPU数に設定され、メインスレッドプールサイズです。とCPUキャッシュを切り替える以下 コンテキストが良く機能するが存在することになるので、ほとんどの場合、は、より高速なアプリケーションのパフォーマンスになります 結果をコアあたり2つのスレッドを維持します。

コアあたり2つのスレッドがある場合、なぜコンテキスト切り替えが少ないのかわかりません。私はすべてのスレッドが何らかの仕事で忙しいと思っていましたが、コアの数だけジョブを2回実行することができないため、コンテキストスイッチがかなりあります。それはパフォーマンスを傷つけるでしょう。

どういう意味ですか?

+0

多分それらは仮想CPUコアとハイパースレッディングに含まれますか? –

+0

*それはどういう意味ですか?*文脈がなければ、言い表せません。 –

+0

@AndrewHenleしかし、これはドキュメントの内容です。 –

答えて

0

答えは文の解釈です。したがって、作家が何を考えているのかと考え、私の見解を示します。

各コアがハイパースレッドであると仮定すると、ステートメントは正しくなる可能性があります。&各スレッドは割り当てられたCPU時間の使用を最大化し、スレッドはCPUコアにバインドされたままです。キャッシュ関連の言及について

または

コアはシングルスレッドであるスレッドのそれぞれは、コンテキストスイッチの数を最小化することによって利用可能なCPU時間の利用を最大化する(一方が遮断されたときに、他方は計算を行い)

プロセススレッドは、かなりの期間、同じコアにバインドされたままでなければなりません。


スレッドの右の数が良い例で、スレッドのより数よりも重要である理由の素敵な考えはここにある:それを超えてhttps://blogs.mulesoft.com/biz/news/chasing-the-bottleneck-true-story-about-fighting-thread-contention-in-your-code/

は、プロセッサレベルでのコンテキストスイッチのオーバーヘッドは何ですか: 日付けれども - 提供します良いアイデア - http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html

+3

*推測は答えではありません、推測です*、もっと質問に答える前に、[良い答えを書くにはどうすればいいですか?](http://stackoverflow.com/help/how-to-answer)をお読みください。 –

関連する問題