1read 100read
2012年5月プログラム157: C、C++の最適化について語るスレ 3 (686) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Perl忍者最終決戦〜ゲスッ復活プロジェクト (438)
HelloWorld集めようぜ (204)
くだすれPython(超初心者用) その13 (590)
関数型プログラミング言語Haskell Part18 (493)
【】configure大嫌い【RMS】 (491)
米国国防省の標準高等言語エイダ(Ada)を語れ! (782)

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


1 :08/07/05 〜 最終レス :12/05/21
コンパイラ性能、コンパイルオプション、コードの最適化などについて語りましょう。
主に速度面の最適化を中心としますが、サイズなどの最適化もどうぞ。
なお、OS、CPU、コンパイラなどは限定しません。
前スレ
C、C++の最適化について語るスレ
http://pc11.2ch.net/test/read.cgi/tech/1084676298/ (過去ログ化前)
C、C++の最適化について語るスレ 2
http://pc11.2ch.net/test/read.cgi/tech/1177808054/

2 :
スレが荒れるので団子は書き込み禁止です

3 :
>前スレ1000
読めてないよ

4 :
>>2
まったくだよな。
前スレの後半読み飛ばしまくったけど、それでもむかついた。

5 :
むしろ組み込みしか頭にないおっさん連中全員うぜぇ

6 :
最適化の具体例を出して議論して欲しいな。

7 :
前スレの後半は組み込み関連の話だけになってたな。

8 :
ダンゴの名言が面白かった。

9 :
組み込みCPU限定の話題はスレ違いっていうか板違い

10 :
>なお、OS、CPU、コンパイラなどは限定しません。
かってにシキるなよ。クソを流さないダンゴ。

11 :
お前ら組み込みの大変さを理解してないだろ。
これだから組み込みを知らない奴らは・・・

12 :
>>11
大変なのはいいからC++でリソース潤沢な環境の最適化の需要を想定できない人は電子板に行ってください。
ここのカテゴリは「PC等」なんで。
俺はPPCマカーでもあるから非x86には寛容な方だけど

13 :
家電 UIの加減(ry

14 :
>>12
前スレの807-813の再レスというかネタだろ

15 :
マカーきめえw

16 :
>>15
うるしぁiPodぶつけんぞ

17 :
>>16
前スレの948に答えてあげよう、ROMは割と余る、RAMは意外と足りない。
あと16ビット系は多品種少量でめちゃ現役。
ARMやMIPSみたいな豪華なCPUが使えない場所はけっこうあるよ。

18 :
ヨッシーの鳴き声

19 :
団子さん薬飲みすぎじゃね?
テンション高すぎw

20 :
そろそろ具体的な最適化の話にもどらないか?

21 :
最適化の需要が少ないって絡まれるのは、やだなあ。

22 :
ここは団子さんを最適化するスレ

23 :
早く右辺値参照が使いたい・・・

24 :
具体的なの書くと、マイノリティって言われるしな〜。

25 :
マカーか。納得。

26 :
飛ばしすぎなダンゴさんがちょっと心配になってきたな

27 :
前スレのこれってダンゴさんの自演なの?
905 :デフォルトの名無しさん:2008/07/04(金) 00:07:09
>>899
憶測だけど多分25前後。
>>903-904
いや、シャシャリ出てこないだけで話を理解出来る奴もいるよ。
奴は持論、空論、論理のすり替えは多いがCPUのアーキテクチャは人一倍理解している。たまに勘違いしてるが、突っ込みどころは少ない。
それよりファミリーカーの話題にスポーツカーとか農機とか平気で語り出して、それで結論づけて話を終わらせるのが問題なんだよ。

28 :
ほとんどがダンゴさんの自演だよ

29 :
>>24
どうせならHDみたいな本に載せてもいいような、
機種によらずほとんどのCPUで有効な最適化手段用意しようよ。
ちなみに前スレのは俺の使う石だとかえって遅くなるぞ。
そういう特定のCPUに依存したコードをことわりもなく書くのが傲慢なんだよ
俺がどれだけSSEとかVMXの話題遠慮してると思ってるんだ
もっとも、この板に専門スレがあるがな

30 :
そのまま色々遠慮しててください。

31 :
ダンゴさんの心遣いがとうとう語られてしまったな

32 :
団子に構って欲しい人だらけのようだけど、気にせず書くよ。
ヒープ確保よりスタック確保の方が早いけど、
スタックだとコンパイル時にサイズ決まってしまうのが残念だ。
allocaが安心して使えたら良いのに。

33 :
リンク時だろ

34 :
C++はもちろん当たり前だがC99準拠の処理系では
void foo(int n)
{
 double a[n];
 …
}
こんな風に整数の変数でスタック上配列を確保できる。
もちろん関数の途中でも{}で囲んでやりさえすればいつでも使える。
なんにせよC99準拠の処理系ならほぼ例外なく
何らかの形でallocaみたいな関数も実装されてると思ってるが。
しかし機械語レベルで見るとなんのことはない、x86でいうespを変数値ぶんだけ操作してるだけ。

35 :
何のことは無いって言うけど、
配列のアドレスを別に保存しておかないといけないし、
サイズも sizeof 用に保存しておかないといけないんだぜ。

36 :
その昔 x68k 用の gcc で
void foo(const char *p)
{
 char a[strlen(p) + 1];
 ...
}
で上手くコンパイルできないバグがあった。
esp を操作するだけなんて言う奴は考え浅すぎ。

37 :
>>34
>C++はもちろん当たり前だがC99準拠の処理系では
C++でも出来るように読めてしまう

38 :
>>35,36 そんなのコンパイラ屋ならできて当たり前のレベルだろw

39 :
>>34
allocaと同じく、関数頭辺りでスタックのページ拡張コードも入るよ。
espをいじるだけだと例外が発生する。

40 :
C++にも可変長配列欲しいな・・・

41 :
>>38
だから、>>34 はそんなレベルじゃないって言ってるだけだが。
>>39
それは、環境による。
全ての環境にページングシステムがついてるわけじゃないし、
スタック例外処理ハンドラで拡張するシステムもあるし。

42 :
>>40
std::vect(ry

43 :
そんなnew/deleteのただのラッパーじゃ嫌です><

44 :
手元にint32_t変数があるとして、このビットを逆順にする高速なコードをください

45 :
i = ~i;

46 :
>>45
それ反転

47 :
鏡を2つ用意します

48 :
ビット逆順ってどんなときに必要になるんだ?

49 :
>>29
>そういう特定のCPUに依存したコードをことわりもなく書くのが傲慢なんだよ
すげぇ
お薬効きまくってますネ!

50 :
47みたいなのを天才というんだな

51 :
前スレがdat落ちしていない間は良いけど、
前スレ見てない人には、団子の人格批判だけのレスは
アホっぽく見えるから、止めた方が良いと思うぞ。

52 :
団子が居る限り
このスレも
同じレベルだろ

53 :
正直、団子だけでなく双方同レベルです・・・

54 :
>>43
ヒープに確保で駄目な理由ってなに?
逆にスタックを使うデメリットは認識してる?
多くのCランタイムはアプリケーションヒープはプールしてmallocの度に未使用領域を再利用する実装が多いよ
Cellのspu-gccだとは単にLS上の空いたとこ割り当てるだけだし

55 :
>>29
>そういう特定のCPUに依存したコードをことわりもなく書くのが傲慢なんだよ
勝手に決めんな。このスレはOS、CPU、コンパイラは限定しないんだから、
古くても新しくても、機種依存でも、あきらかにそれとわかれば問題ねーんだよ。
>>34
高速なメモリプールを動的に確保したいってだけでしょ?
最適化は直接関係ないじゃん。
>>48
他システムとのエンディアン変換で使わんか?フーリエ変換でもあると便利でしょ。
SIMDにそんな命令があるCPUもあるから、どうしても速度が気になるなら直書でやったら?
ダンゴが固定しているCPUに依存しない最適化じゃ無理。

56 :
スタックに確保するとか決まってたっけ? 別にヒープで実装してもいいんじゃないの

57 :
>>56
ダンゴの使っていない処理系の話題は板違いです

58 :
>>44
じゃ古典的な実装のひとつでも覚えようか。
ちなみに4〜5行目はBSWAPがあれば一発だね。
i = ((i&0x55555555)<<1) | ((i>>1)&0x55555555);
i = ((i&0x33333333)<<2) | ((i>>2)&0x33333333);
i = ((i&0x0F0F0F0F)<<4) | ((i>>4)&0x0F0F0F0F);
i = ((i&0x00FF00FF)<<8) | ((i>>8)&0x00FF00FF);
i = i>>16 | i<<16;
ま、これが最善とは限らないがね。
ちなみに他に、ビットスワップにXORを使う実装があるが
スーパースカラと相性よくない気がするので俺はこっちが好き
#組み込み爺さんは放置推奨。かまうあなたも組み込みです。

59 :
>>55
Radix-SRT dividerは組み込みには関係ないからと噛みついたのが組み込み爺さん
ダブスタもいいところだな

60 :
くみ取り系は基本的に自己チューですので

61 :
>>58
用意してたの?

62 :
>>58
で?最適化は?

63 :
すまんが、組み込み=じいさんってどういう発想なの?
俺、組み込みやってるんだけど、このスレじゃダンゴ氏に
肯定的でないと発言出来ないって事?
あと、結局このスレはCPU依存な話題はNGって事でOK?

64 :
>>54
いや、駄目ってことではなくて、違うじゃんってこと。
そりゃヒープ気分ででかいの確保したらすぐ死ぬけどさ。
>>56
可変長配列のこと?
だとするとC言語用の単なる構文糖衣みたいなものか・・・。
>>55
バイト列じゃなく、ビット列まで逆になるエンディアンがあるってこと?

65 :
エンディアンってバイト順のことじゃないのか?
最近はビット順もエンディアンって言うのか?

66 :
シリアルでLSBから送ってくる機器を相手にした事はあるけど

67 :
7セグLEDの表示ビット列が逆で手持ちのビット列を逆順にしたいことはあったな。
まぁ手でやったけど。

68 :
780 名前:デフォルトの名無しさん[] 投稿日:2008/06/17(火) 08:53:09
ビット演算だけで、剰余を求める方法を教えてください
788 名前:,,・´∀`・,,)っ-○◎●[sage] 投稿日:2008/06/28(土) 13:17:18
というか、除算・剰余にビット演算を使うような厨テクなんて
最近のCPUじゃマイクロコードレベルで同等かそれよりエレガントなことやってるだろうから
よっぽどガチガチのRISCでも使わない限り覚えても意味ないよ
795 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/29(日) 06:48:48
古いCPUと枯れたコンパイラの仕事はもう無いっておもってるのか?
それとも、ダンゴがアホなのか?
--
これで荒れはじめたんでしょ。
よっぽどツボついたのか、ダンゴが組込み=悪って事にして散々罵倒しだした。
それで、なんだか、ココは最新のベクトル系の最適化の話以外は禁止なふんいき。

69 :
>>61
こういうのは基本的に何パターンか丸暗記してる。HDにも載ってるし。
ちなみにこれは比較的命令の並列度が高めのCPU向け。
>>62
逆に、これより速いのあるならやってみてよ。
ちなみにAltiVecやSSE4を使っていいなら攪拌命令を使って各バイト4ビットずつ
同時にビットオーダーを反転する手もある。

70 :
ごめん。エンディアンとFFTのビット順の逆は別の話だった。混同しちゃってた。

71 :
>>65
汲み取り系君はビット順とバイト順が区別できないほど頭がアレなんで。

72 :
>>68
お前みたいなスレが荒れる原因を
わざわさ持ち出してくる奴も同じくらい迷惑なんだが

73 :
リア房んときCASL&COMETでビットシフトと加減算で除算やったことあるが、
普通はCではコンパイラの仕事だろ。

74 :
ダンゴさんよっぽど悔しいんだな。

75 :
>>74
くやしいのうwwwくやしいのうwww
こうですかわかりません><

76 :
>>74-75
vipでやれカス共

77 :
>>75
ところで、モトローラのマイコンの件はどうなりましたか?

78 :
ム板でも特筆すべき勢いのスレ

79 :
>>77
あの会社の収益は組み込みPPCが大半だと思ってたよ
で、R8Cとどっちが売れてるの?

80 :
だいぶ前にフリースケールに売ったけどな。

81 :
> 大半
だからマジョリティしか発言権無いのかと。

82 :
一々単語に噛み付くなようぜぇ

83 :
>>80
売ったんじゃなくてスピンアウトだろ
どっちかというと分社化
MacのIntel移行は痛かったようだな

84 :
ダンゴさんは前スレから勝ちっぱなしだな

85 :
なんでそこでR8Cなんだろう?

86 :
すっかり雑談スレだな。ダンゴの自演が面白いけど。
モトローラは通信事業の収益の方が大きかったから辞めたがってた。
アポは五月蝿いくせに数捌かない客だったし。
アポが消えたら、厄払いが済んだかのように、各ゲーム機が一斉にPPC系になって
フリスケとIBM大勝利って感じ。
>>63
別にダンゴスレじゃないから、ココで組込みの話題でもオッケー。
最適化関係ならね。

87 :
>>86
は?
Freescaleはゲーム3機種に絡んでないよ。Wiiのは750CLカスタムだし。
Appleこそ脱PPC以降米国市場で1000ドル以上のPCの売上でダントツトップになったり
大躍進じゃないか
でもclassic見捨てるなボゲ

88 :
>>87
どーでも良い事にいちいち噛み付くなよ。ウゼェ。

89 :
>>87
最適化された結果消えたんだから文句言うな

90 :
ダンゴ的にアップルはマイノリティじゃないの?
PPCマックのプログラムなんて、爺の野良仕事みたいなもんだと思うけど。

91 :
お前ら、今日もム板最速スレ伝説を築く気か。
ダンゴもいい加減からかわれてるって気づけ!
良い天気なんだから、外に出て体動かせ。ビタミンDでも補給しろ!

92 :
>>87
で、モトローラのマイコンはどうなんだ?
市場規模とかw

93 :
>>92
まあじゃね?
ハードの売上とそれに群がるソフト市場、ともにIntelが圧倒的に首位なのは言うまでもないし。

94 :
>91
たまのフレーミングが終われば過疎スレに戻るんだから、いまはこのイベントを楽しめ
>87
> Freescaleはゲーム3機種に絡んでないよ。Wiiのは750CLカスタムだし。
言いたいことは否定しないが、CodeWarrior を供給してる関係で、"ゲーム開発に絡んでいる" という言い方は出来る。
つうか、前スレ831 にアンカー付けてくれないかな。
824には同意なんだが。

95 :
ダンゴさんが順位で市場規模を語り始めたぞ。

96 :
そーいやメトロワークスってFreescaleに買われたんだww
しかしCodeWarriorねぇ・・・
Wii向けならまだ使ってるとこあんのかね?
PS3はSCE謹製のSDKがあるし360はもちろんVisualStudioだし。

97 :
むしろIDEとしてはMSVSとEclipseに蹴散らされてるのがCWの現状

98 :
団子って組み込み屋にクビでも切られた?
ツボをつく書き込みがあった?
団子はしばしば発狂してるけどトリガが知りたいな

99 :
CodeWarriorのIDE部分がEclipseに移行するという発表は先月だったな。
なかなかの蹴散らされっぷりだなw

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Borlandにはやられた... (357)
おまいらのプログラムの勉強の仕方を教えろください (120)
Cygwin + MinGW + GCC 相談室 Part 6 (718)
VBプログラマ質問スレ(Ver.6.0 まで) part58 (177)
datファイルを共有するP2Pソフト o2on 17dat (316)
Squeakでマターリ語りましょうや (808)
--log9.info------------------
ウォーゲーム関連総合スレッド Ver.9 (755)
【PC】DiRT総合 SS-15【DiRT3: Complete Edition】 (574)
rFactor2 - LAP2 (995)
大昔遊んだゲームのタイトルが思い出せません (165)
rFactor | The Future of Race Simulation LAP58 (528)
【ラリー】 Richard Burns Rally 【RBR】 Leg17 (256)
From Dust (167)
Fallout 3 PC Vault 69 (118)
銀河英雄伝説シリーズ【BOTHTEC】 (355)
SACRED PLUS セイクリッド プラス Part 1 (156)
The Elder Scrolls V: SKYRIM 雑談スレ (954)
【MoO】宇宙系ストラテジー総合4【GalCiv】 (323)
===== GTR2 FIA GT Racing Game = LAP 36 ===== (870)
AoCについて語ろう 第104幕 (225)
書き込みテストスレ (441)
【LoG】Legend of Grimrock Part4 (678)
--log55.com------------------
【朗報】青森県で家賃3万円の一軒家がこちら 移住不可避 [324064431]
「こいついい大学出てるはずなのに使えねえな」って奴いるよな テストで測れない、本当の頭の良さみたいのってあると思う [268718286]
【悲報】イギリス人社長「日本は技術力も低く生産性が低いのに、なぜ世界第三位の経済大国なのか理解できなかった」 [324064431]
【悲報】アメリカ人、やっぱり世界で一番クソみたいな人種だった。大坂なおみに対する扱いが酷すぎる。 [483053163]
工業高校生「ワイらロボット作れるで」農業高校生「ワイらはコメ作れる」普通科高校生「…」  →何作れんの? [324064431]
地球、SSRクラスの大当たり惑星だった これ奇跡の星だろ [324064431]
校則で『ポニーテール禁止』に!その理由に、開いた口が塞がらない ・・・ [324064431]
【悲報】 この中で3つ以上知らないアーティストがあったらオッサンらしい [324064431]