マルチスレッドプログラミング相談室 その9 (459レス)
マルチスレッドプログラミング相談室 その9 http://mevius.5ch.net/test/read.cgi/tech/1339691517/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
404: デフォルトの名無しさん [] 2019/01/26(土) 17:42:01.46 ID:stTjLhtD 400MBのデータを一括でコピーする処理を並列化してもノイマンボトルネックに掛かってスケールしないと思うんですが、boolの配列(newしたもの)でやるとある程度スケールします。 何でですか? http://mevius.5ch.net/test/read.cgi/tech/1339691517/404
405: デフォルトの名無しさん [sage] 2019/01/26(土) 18:19:40.68 ID:yUYodqfD >>404 bool の配列が、例えば、8個の bool 値をまとめて 1バイトとして格納している場合で、 for ( i =0; i < 100000; i++ ) { dst[i] = src[i]; } のように書いて、かつ、コンパイラがこのループを「そこまでの」最適化はしなかった場合、 32BIT 環境の場合なら、32回のループで 1 DWORD 分の実メモリやキャッシュ・メモリへの 転送が生じるだけになるかも知れない。その他のメモリアクセスは、基本、code の fetch だけになり、全てCPU内部のキャッシュ・メモリに乗ってしまう。 だから、マルチスレッドでこのループを分割して行えば、32スレッドまでなら、 高速化が起きる気がする。 そういう問題でなくて? http://mevius.5ch.net/test/read.cgi/tech/1339691517/405
406: デフォルトの名無しさん [sage] 2019/01/26(土) 18:25:13.78 ID:VVr2JTND >>404 あ、あと >400MBのデータを一括でコピーする処理を並列化してもノイマンボトルネックに >掛かってスケールしないと思う これだけど、以外に高速化されたりするかもしれない。 実際の CPUはそんなに賢くないので。 色々複雑。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/406
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s