のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,837人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレGCCについて part8

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - pragma + - spec + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    301 : デフォルトの名無 - 2008/03/06(木) 16:07:59 (+9,-18,+0)
    snapshots見てたから気づかなかったぜ
    302 : デフォルトの名無 - 2008/03/06(木) 22:25:45 (+43,+15,-26)
    4.3の一番の売りは、主な数学関数をコンパイル時に展開してより最適化してくれるってことでOK?
    303 : デフォルトの名無 - 2008/03/07(金) 13:26:47 (-1,-29,-32)
    -march=core2 -mtune=core2でしょ
    304 : デフォルトの名無 - 2008/03/07(金) 16:13:38 (-6,-29,-1)
    geodeも忘れるな
    305 : デフォルトの名無 - 2008/03/08(土) 05:30:08 (+17,-8,-21)
    で、4.1より早いの?
    じゃなきゃ糞だが
    306 : デフォルトの名無 - 2008/03/08(土) 06:24:09 (+31,-30,-14)
    gcc-4.3のバイナリ実行速度は、integerについてはgcc-4.1よりも速いし、バグの数もgcc-4.1よりも少ない。
    307 : デフォルトの名無 - 2008/03/08(土) 11:33:42 (+67,+29,-14)
    >>306
    4.1から4.3で何が良くなったのか簡潔に頼む。
    308 : デフォルトの名無 - 2008/03/08(土) 11:39:08 (-6,-29,-2)
    ggr (3バイト)
    309 : デフォルトの名無 - 2008/03/08(土) 19:44:39 (+3,-30,-36)
    fate見ると4.3って4.1に比べて遅くなってるような。
    4.1.2http://fate.multimedia.cx/index.php?build_record=6158
    4.2.3http://fate.multimedia.cx/index.php?build_record=6169
    gcc svn 133010, built 2008-03-07http://fate.multimedia.cx/index.php?build_record=6163
    310 : デフォルトの名無 - 2008/03/08(土) 21:56:34 (+3,-30,-186)
    以前にベンチをnbenchとかbzip2とかで取ってみて比較した印象だと整数演算に関しては4.1より4.2の方が明らかに良いと
    思っていて、最適化フラグが-O2の場合は4.2より4.3の方が若干良いという印象を持っていたのでそう書いたのでけど、
    実は-O3の場合は事情が違って、4.2の方が4.3より良い結果になると思っています。つまり、
    gcc-4.2-O2<gcc-4.3-O2<gcc-4.3-O3<gcc-4.2-O3
    の順に性能が良くなると思っています。fateというベンチはstdout textを見ると-O3でコンパイルされているので
    4.2の方が4.3より良い結果になるというのは順当だと思います。
    311 : デフォルトの名無 - 2008/03/08(土) 22:20:14 (+3,-29,-34)
    C++ヲタだから、あんまり速度比較には興味ないんだけど、
    4.3はforward propagationが大幅に書き換えられているから、
    4.2のの頃の結果から4.3の振る舞いを推測するのは危険だぞ。
    312 : デフォルトの名無 - 2008/03/09(日) 13:19:28 (+0,-28,-9)
    4.3.0今試してみたけどやっぱり4.1.2より遅いバイナリ吐いた
    あくまで自分が使うプログラムでってことだけど
    313 : デフォルトの名無 - 2008/03/09(日) 18:47:18 (+57,+29,-21)
    速い遅い以前に挙動が変わっちゃって今トレース中だよ・・・
    314 : デフォルトの名無 - 2008/03/09(日) 23:34:14 (+65,+29,-35)
    それは十中八九 GCC のせいじゃない。
    まあ、警告が不十分だった事に起因してる点があれば
    30% 程度は GCC にも責任があるかもしれないが。
    315 : デフォルトの名無 - 2008/03/09(日) 23:35:17 (+12,-30,-267)
    >>307
    http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
    Status of Experimental C++0x Support in GCC 4.3

    Rvalue references N2118 Yes
    Rvalue references for *this N2439 No
    Variadic templates N2242 Yes
    Static assertions N1720 Yes
    Declared type of an expression N2343 Yes
    Right angle brackets N1757 Yes
    Default template arguments for function templates DR226 Yes
    Extern templates N1987 Yes

    C99 Features in C++0x
    __func__ predefined identifier N2340 Yes
    C99 preprocessor N1653 Yes
    long long N1811 Yes

    もちろんg++起動オプションでオンにしたときだけ。
    http://gcc.gnu.org/gcc-4.3/changes.html
    316 : デフォルトの名無 - 2008/03/10(月) 00:37:24 (+13,-23,-4)
    >>314
    まさかgccはlintにするために作ってるわけじゃあるまいに。なんだその30%て。
    317 : デフォルトの名無 - 2008/03/10(月) 19:19:11 (+3,-29,-203)
    Linuxで最近よく自分でアプリやカーネルをmake installします。gccの最適化フラグをつけないとつけた時に
    比べてやはり遅いんだなってのは体感しました。所がアプリによりつけたフラグによっては動きが悪くなる
    ってのも体感。

    なので自分はソースが読めないのでgcc4.2シリーズの-march=native -O2のみにして全部これでやることに
    しました。それなりに快適に動いてます。

    少し前からgcc4.3の最適化は4.2よりいいと書いてある記事をみて開発版の4.3を入れたけど
    なんか動きがかなり違う。コンパイルが出来ない(一切フラグをつけなくても)物も出てきた。

    それどころかある設定をしないとカーネルでさえコンパイル出来ないんですね・・・・
    ググってカーネルのmakeファイルに設定を追加して出来上がった物も動きが悪いです・・・
    やはり今回の正式リリースもカーネルとかそのままコンパイル出来ないんでしょうか?

    まあ、それは対策が解るからいいものの、使った感じちょっとソースが読めないような自分が使う物ではないな
    と感じたです。コンパイルエラーが出たのをネットでググる時間が(TT)
    318 : デフォルトの名無 - 2008/03/10(月) 20:08:32 (+62,+29,-10)
    ソース読めない、情報拾うのが涙目、って状態で開発版を入れる神経が理解できない。
    319 : デフォルトの名無 - 2008/03/10(月) 20:14:00 (+41,-28,-28)
    >>318
    じゃあ正式リリース版のgcc4.3.0では何もいじらなくてカーネルコンパイルくらいは平気で出来るの?
    4.2シリーズは開発版だろうがまるで神経使わなかったけど。
    320 : デフォルトの名無 - 2008/03/10(月) 20:15:00 (+27,-24,-1)
    じゃあ(笑)
    321 : デフォルトの名無 - 2008/03/10(月) 20:17:07 (+61,+29,-15)
    >>320
    答えられないような人は黙っててよww
    322 : デフォルトの名無 - 2008/03/10(月) 20:28:23 (+97,+29,-23)
    >>319
    開発版を入れる神経を疑いはするが、4.3が安定しているかどうかは知らない。
    私ゃ態々カーネルをコンパイルし直すほど暇じゃないんでね。
    323 : デフォルトの名無 - 2008/03/10(月) 20:39:37 (+0,-28,-20)
    そうそう体感できるものでもないだろ
    0.3秒かかってたのが0.27秒とかになったとしても
    324 : デフォルトの名無 - 2008/03/10(月) 21:15:34 (-1,-29,-11)
    どうせGentooユーザなんだろうなぁ
    325 : デフォルトの名無 - 2008/03/10(月) 22:08:50 (+37,+19,+0)
    春厨だよ
    326 : デフォルトの名無 - 2008/03/10(月) 22:27:47 (+87,+29,-32)
    >>322
    安定とかの問題以前でgccサイドとカーネルサイドの意見が違っててどっちも直さないってのが
    ある筈なんだけど・・・

    gcc4.3、カーネルと聞いて思い浮かばないようならもう話はいいですww
    327 : デフォルトの名無 - 2008/03/10(月) 23:07:27 (+62,+29,-30)
    「ある筈なんだけど」っていう程度の人は、
    リリースされたばかりのコンパイラを使わない方がいいと思うよ

    > やはり今回の正式リリースもカーネルとかそのままコンパイル出来ないんでしょうか?

    あなたにはよく分からないことだから。
    328 : デフォルトの名無 - 2008/03/11(火) 00:04:11 (+13,-30,-71)
    すいませんちょっとお尋ねしたいのですが、
    コンパイル時に二つのオプションを使うことってできるのでしょうか?
    例えば、若干スレ違い臭いのですが、質問させてください。

    例えば、
    `wx-config --cppflags` と `pkg-config --cflags gtk+-2.0`
    を同時に使いたいのです。

    同時に使えるとしたらどのように書けばいいのでしょうか。
    どなたかご教示頂けると幸いです。
    329 : 328 - 2008/03/11(火) 00:05:15 (+20,-17,-2)
    3行目コピペミスなので無視してください・・
    330 : デフォルトの名無 - 2008/03/11(火) 00:10:10 (+65,+29,-27)
    別スレでレスがつかなかったからこっちで・・・とか
    そのくらいの経緯は書いて欲しいな。
    というか、向こうでレスついたぞ。
    331 : 329 - 2008/03/11(火) 00:16:00 (+14,-22,+0)
    >330
    すいません、そういうもんなのですか。以後気をつけます。
    レスついたみたいですね。ありがとうございましたm(_ _)m
    332 : デフォルトの名無 - 2008/03/11(火) 01:48:36 (-1,-29,-7)
    ん?GTK+スレでもwxスレでもないどこかなのかな?ま、いいか
    333 : デフォルトの名無 - 2008/03/11(火) 02:30:21 (-1,-29,-4)
    4.3でカーネルがビルド出来ないというのは、これです。
    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32044#c28
    334 : デフォルトの名無 - 2008/03/11(火) 02:33:55 (+62,+29,-69)
    カーネルに限らず、O2レベルでもミスコンパイルはよくあるから別に驚く話でもないが。
    GCCコミッテーに文句つけて今の版のバグフィックスをしろよ、クソハゲドモと外人に文句垂れてくるんなら
    俺は得に気に留めないよ。
    335 : デフォルトの名無 - 2008/03/11(火) 02:38:16 (+3,-30,-56)
    方向の違うこういうのもあるから、素人さんにはお勧めしない。
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e40cd10ccff3d9fbffd57b93780bee4b7b9bff51

    正直、コンパイル猿になるよりもずっと有意義なことがいくらでもあります。
    何か一つターゲットを絞って深く追ってみるのならいいけどね。
    336 : sage - 2008/03/13(木) 10:12:58 (+3,-30,-143)
    int result;
    __asm__ (
    "imull %%edx\n\t"
    "idivl %3\n\t"
    : "=a" (result) /* out */
    : "a" (m1), "d" (m2), "g" (d) /* in */
    : "ax", "dx" /* mod */
    );
    return result;
    }
    でコンパイルするとcan't find a register in class ‘AREG’ while reloading ‘asm’とのエラーが表示され、コンパイルできません。
    どのように改善したら良いでしょうか。
    337 : デフォルトの名無 - 2008/03/13(木) 10:35:04 (+57,+29,-5)
    なんか付帯情報が変な気がするんだけど、
    何を参考にしました?
    338 : sage - 2008/03/13(木) 10:38:28 (-1,-29,-23)
    koulesっていうゲームのソースをmakeしたところエラーが発生したので
    ソースを見てみたらわけわからんという状態です。
    339 : デフォルトの名無 - 2008/03/13(木) 12:18:37 (+11,-6,+0)
    氏ね
    340 : デフォルトの名無 - 2008/03/13(木) 12:44:18 (-6,-29,-3)
    gcc3 と 4 で変わったっけ?
    341 : デフォルトの名無 - 2008/03/13(木) 23:18:52 (+0,-17,+2)
    g77 死亡
    342 : デフォルトの名無 - 2008/04/06(日) 00:24:12 (+9,-30,-94)
    gccのオプションで-ggdb3,-gや-O0, -O2のようにどちらかしか採用されないようなオプションを
    同時に渡したときどちらが採用されるのでしょうか?

    gcc -ggdb3 -O0 -g -O2 -c src.c -o src.o
    と実行したときsrc.oは「-ggdb3 -O0」それとも「-g -O2」?
    343 : デフォルトの名無 - 2008/04/06(日) 08:01:45 (+44,+21,-5)
    引数の解釈する順番?
    344 : デフォルトの名無 - 2008/04/06(日) 11:48:45 (+4,-30,-148)
    >>342
    You can mix options and other arguments. For the most part, the order
    you use doesn't matter. Order does matter when you use several options
    of the same kind; for example, if you specify `-L' more than once, the
    directories are searched in the order specified.

    機能が被る場合にどうなるかは明記されてないが
    理解の一助にはなるかな?
    345 : デフォルトの名無 - 2008/04/06(日) 12:36:30 (+54,+26,-7)
    -Qとかつければ、どう解釈されてたか見れたような?
    346 : デフォルトの名無 - 2008/04/06(日) 16:25:44 (+34,-29,-8)
    Windowsと違って、UNIXだとsleep(0)ってやっても効果ないの?
    347 : デフォルトの名無 - 2008/04/06(日) 16:44:17 (+49,+21,-3)
    Windowsだとどんな効果があるの?
    348 : デフォルトの名無 - 2008/04/06(日) 17:19:21 (+71,+29,-45)
    >>346
    Windowsでの効果は知らないけれど、Linuxの場合はタスクスイッチングを強制させるのに使える。
    要は「最低0秒」止まるので、他に処理するべきプロセスがあればそちらを実行することになる。
    # 逆に言えば、最悪何秒も止まりっぱなしになるかもしれない。
    349 : デフォルトの名無 - 2008/04/06(日) 20:31:52 (-2,-29,-2)
    pthread_yield
    350 : デフォルトの名無 - 2008/04/06(日) 20:52:21 (+62,+29,-70)
    タスクスイッチというかカーネルへの制御の移行ね。
    システムコールからそのまま戻るにしても既に送られたシグナルがあれば
    戻る直前でシグナルハンドラが走る。

    あとUNIXによってはsleepはプロセスタイマを使う可能性があるらしいので
    ユーザプログラム側でタイマを使う場合は注意が必要かも。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - pragma + - spec + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について