Instantly share code, notes, and snippets.
STMは共有資源に複数のスレッドが書き込みを試みて、共有資源が他のスレッドに既に更新されてれば失敗してやり直すという処理なので、逆に言えば、実行中のスレッドの中の必ず一つは書き込みに成功するということだと思います。 実行中のどの時間を見ても必ず書き込みに成功するスレッドが一ついるということはつまり、 原理的にはシングルスレッドと同じ時間で処理できることを意味していると思います。 シングルスレッドやロック(hash-bench)の時は使われていなかったコアが無駄な計算をするだけで、 処理にかかる時間が劇的に伸びるのはどうもよく理解出来ないです。
Sorry, something went wrong.
STMは共有資源に複数のスレッドが書き込みを試みて、共有資源が他のスレッドに既に更新されてれば失敗してやり直すという処理なので、逆に言えば、実行中のスレッドの中の必ず一つは書き込みに成功するということだと思います。
実行中のどの時間を見ても必ず書き込みに成功するスレッドが一ついるということはつまり、
原理的にはシングルスレッドと同じ時間で処理できることを意味していると思います。
シングルスレッドやロック(hash-bench)の時は使われていなかったコアが無駄な計算をするだけで、
処理にかかる時間が劇的に伸びるのはどうもよく理解出来ないです。