[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 15:56 / Filesize : 62 KB / Number-of Response : 319
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C、C++の最適化について語るスレ 3



1 名前:デフォルトの名無しさん [2008/07/05(土) 16:27:29 ]
コンパイラ性能、コンパイルオプション、コードの最適化などについて語りましょう。
主に速度面の最適化を中心としますが、サイズなどの最適化もどうぞ。
なお、OS、CPU、コンパイラなどは限定しません。

前スレ

C、C++の最適化について語るスレ
pc11.2ch.net/test/read.cgi/tech/1084676298/ (過去ログ化前)

C、C++の最適化について語るスレ 2
pc11.2ch.net/test/read.cgi/tech/1177808054/

285 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 11:02:14 ]
ポインタ使って自前で効率よくアクセスしようと頑張るより、
読みやすいコードを書いてコンパイラの最適化に任せたほうがいいって、
じっちゃんが言ってた。

286 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 11:06:05 ]
>>285
じじいのいうことなんてきかねーよぼけ

287 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 11:28:31 ]
>>285
じじいたちの世代はコンパイラがバカだから
スピードのためなら読み難くてもトリッキーな
コード書いてたわな


288 名前:デフォルトの名無しさん [2008/07/26(土) 11:31:12 ]
コピーと参照は絶対的な差がある


289 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 11:35:51 ]
>>287 言ってることと逆じゃねーか

290 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 21:16:47 ]
>a[ b[x] c[y] ]

これコンパイル通るのか

291 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 02:53:55 ]
通らねーよボケ

292 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 04:16:03 ]
見て和姦ねーのかボケ

293 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 08:34:30 ]
でももしb[x]が関数だったら?

通らなねーよボケ



294 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 10:38:57 ]
普通にコンパイルできるけど...

#define c +d

int a[10];
int b[10];
int d[10];
int x;
int y;

int z = a[b[x] c[y]];

295 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 10:50:01 ]
普通じゃないね。

296 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 11:30:47 ]
多次元配列をクラスじゃなくてコンパイラ内蔵にして欲しくならない?

for(y) { for(x){
a[x+y*size1] = ...;
}}

みたいなことやってもコンパイラはちゃんとyの項を外に出して最適化してくれるのは分かってるんだけれど、精神衛生上気持ち悪い。

それにa(x, y)みたいにアクセスできるクラスがあっても添え字の計算がクラスの奥深くになると外に出せなくなるし。

297 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 12:04:53 ]
>>296
ならない
せっかく多次元配列でさえも自分でカスタマイズできるのがC++の便利なところなのにね。言語仕様に含めて自由を放棄するなんてことはできない。

298 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 13:23:18 ]
そうだけどさ、コンパイラが解釈しにくくなるじゃん。
yの項を外に出すだけじゃなくて自動ベクトル化とかもやりづらくなるし。

それに二次元配列を言語が持ってても邪魔しないと思う。
必要ならオーバーライドすればいいだけ。

299 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 15:30:22 ]
int a[10][10];でだめ?
C99だと要素数に変数使えてますます便利。C99使えないけど。

300 名前:ヽ・´∀`・,,)っ━━━━━┓ mailto:sage [2008/07/28(月) 16:57:10 ]
int a[1024][1024];

あたりでキャッシュライン縛りアヒャヒャヒャ

301 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:18:51 ]
おまえらダンゴさんのレスに一ヶ月も無反応とかどういうつもりだよ

302 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:30:05 ]
最大の賛辞のつもり。

303 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:50:17 ]
大惨事。



304 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 16:42:03 ]
今は自作PCの方が大惨事


305 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 06:00:38 ]
ペンションの経営に忙しかったんだよ。

306 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:39:44 ]
gcc でサイズはとにかく増えてもいいのでインライン展開をさせたいんですが
-O3以上のオプションはなし?

307 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:42:42 ]
>>306
もっと具体的に。インライン展開したからと言って、必ずしもサイズが増えるわけじゃないよ。
つーか、O2でもstaticな関数は勝手にインライン展開したと思うのだけど。

308 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:45:30 ]
>>307
関数ポインタを使ったスイッチを多用したソースなんですが
予定してるよりも速度でないのでインライン展開で高速化できれば
と思ったんですが・・・

309 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:52:56 ]
関数ポインタ経由で呼んでる関数をインライン展開しろと?
またそんな御無体なw

310 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:57:50 ]
仮想関数経由なら出来るよな

311 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:34:32 ]
>>309
あ、そういのは無理ですかww

代わりのチューニングって何かありますかね・・・

312 名前:softbank219204123070.bbtec.net mailto:sage [2008/09/10(水) 22:48:56 ]
速いマシンを買う/買わせる

313 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:55:20 ]
まずはプロファイリングしてどこで時間食ってるか確認するところから始めては?



314 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 23:22:19 ]
そもそもターゲットが何かも書かずに最適かもへったくれも無いだろよ。
エスパー希望なら鼬害だ。

315 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:39:16 ]
>>313が正解。

316 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:49:30 ]
ダンゴさんならピシっと答えてくれるところなんだがな。

317 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:31:17 ]
なんでそこまでして荒らしたいわけ?

318 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:45:16 ]
お前みたいにほいほい餌やる奴がいるからだろ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<62KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef