- 【C++】高速化手法【SSE】2 [転載禁止]©2ch.net
77 :デフォルトの名無しさん[sage]:2015/07/05(日) 01:38:21.45 ID:U8xf2vl9 - >>70はピンポイントでSSE化したい所、出来そうな所だけピックアップしてくれよ。
これでは解析が手間。
|
- 【C++】高速化手法【SSE】2 [転載禁止]©2ch.net
98 :デフォルトの名無しさん[sage]:2015/07/05(日) 19:48:59.00 ID:U8xf2vl9 - なにをしてるか知らないがここが時間食ってる。
8ビットや16ビットで区切って計算結果を配列に入れといて利用するとかできないか? int size()const { int res=0; unsigned long long i; i = u.table[0]; while (i) { ++res; i = (i - 1)&i; } i = u.table[1]; while (i) { ++res; i = (i - 1)&i; } return res; }
|
- 【C++】高速化手法【SSE】2 [転載禁止]©2ch.net
99 :デフォルトの名無しさん[sage]:2015/07/05(日) 19:54:28.58 ID:U8xf2vl9 - あとここも。
32bitでの実行だが。 int get(Point p)const { // return !((*this) & x_line[p.x()] & y_line[p.y()]).empty(); return (table[p.y() & 1] >> (p.x() + (p.y() >> 1) * 10)) & 1; }
|