- 1 名前:デフォルトの名無しさん [2006/04/18(火) 19:57:04 ]
- 史上最強かもしれないツール、GCC(GNU Compiler Collection)について語るスレ。
GNU本家のGCCページ gcc.gnu.org/ Binutils - Collection of binary utilities ←これも必要だぞ。 www.gnu.org/directory/GNU/binutils.html GNU Binutils sources.redhat.com/binutils/ GCC online documentation gcc.gnu.org/onlinedocs/ Installing GCC gcc.gnu.org/install/ GCC Timeline gcc.gnu.org/releases.html#timeline Calendar gcc.gnu.org/develop.html#timeline
- 641 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:08:00 ]
- ttp://www.itmedia.co.jp/enterprise/articles/0705/01/news010_4.html
> GCC 3.3よりもGCC 4.0でビルドする方が高いパフォーマンスを得られる 3系の方が速いのかと思ってた
- 642 名前:・∀・)っ-○◎● mailto:sage [2007/05/01(火) 19:51:59 ]
- 絶対嘘。3.3のほうがバイナリ速い。
- 643 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:26:49 ]
- 場合によるだろ
すぐに絶対とか言っちゃうやつは馬鹿な証拠
- 644 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:57:03 ]
- >>641
何がしたいのかよくわからない記事だね。 ブラウザを起動させたまま同じページを100回ロードするとかの方がいいだろうに。 あえて>>641を材料に考えると、3通りの全てのテストで3.3と4.0の差は optの方がnooptより縮まっているのだから、3.3の方が4.0より最適化が 優れていると考えるのが自然だと思う。 全条件にわたって4.0のグラフの方が短いのはシンボル解決など起動時の負担が 小さくなるような仕様の変更があったのではないかと推測。 あと、今時こういう測定で「画像主体」はないんじゃないかとw CSSバリバリとかDHTMLとかSaaSとか、重さを感じるページってのはそういうの なんだからその辺でやってくださいよと。
- 645 名前:デフォルトの名無しさん [2007/05/01(火) 21:26:37 ]
- 団子ちゃんが言うことは絶対なんデス><
- 646 名前:デフォルトの名無しさん [2007/05/01(火) 21:50:00 ]
- つーかさ、そこらのコードがちょっとばかし速く動くより、
ダンゴさんのコードが速く動くことのほうが、 全世界的に見て有用だろ。
- 647 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:35:36 ]
- 団子のコードが速くなる3系>>>>>>firefoxが速くなる4系
- 648 名前:・∀・)っ-くコ:彡- mailto:sage [2007/05/02(水) 00:29:51 ]
- いかさまだろ
- 649 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 05:57:54 ]
- 短時間で連レスする奴が並んでるな
後半消えてるけど
- 650 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 07:19:33 ]
- ITmediaも暇なことしてるなw
httpなんて最適化で劇的に高速になるわけねーんだから ユーザーがビルドしても時間のムダでしかないだろ。
- 651 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:03:52 ]
- これほど偉そうな割にピント外れのレスも珍しい。
- 652 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:33:38 ]
- 社員乙
- 653 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:16:59 ]
- レンダリングのことをダウンロードだと思っているようで。
- 654 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:19:13 ]
- 言い方変だったな。
firefoxではローカルファイルを表示できないと思っている、というほうが正しいか。 まあGWだから仕方ないけど。
- 655 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:39:12 ]
- HTML解析と内部DOM生成、スクリプトとのやりとり、レンダリング
どれも重そうだよ
- 656 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:51:07 ]
- しょうもないことしてるな。
一ランク上のプロセッサ買ったほうが手っ取り早いだろ。
- 657 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:51:56 ]
- そのネタもう飽田
- 658 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 06:06:16 ]
- フルアセンブラでブラウザ書けばきっと速いよ
ハ_ハ ('(゚∀゚∩ はやいよ! ヽ 〈 ヽヽ_)
- 659 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 06:10:02 ]
- そのネタも、最適化なめるな突っ込みも、もう飽北
- 660 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 11:21:58 ]
- シェルスクリプトでブラウザ書けばきっと(ry
- 661 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:17:10 ]
- ハンドレンダリング
これ最強。
- 662 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 04:56:58 ]
- >>661
だよな、テーブル表記なんか心が和む微妙な曲線で描かれるんだぜ
- 663 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 12:47:42 ]
- openmpが使える環境だと4.2の方が圧倒的に速いね
- 664 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:23:45 ]
- GCC って今 rand のアルゴリズムに何使っとん?
- 665 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:29:20 ]
- GCCって乱数なんか使ってるの?
- 666 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:30:30 ]
- 使っているlibraryによる。
liblibertyなら↓を読んで。 gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libiberty/random.c?rev=1.9&content-type=text/x-cvsweb-markup
- 667 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:37:24 ]
- TYPE_0 は線形合同法っぽいけど、他のは・・・何だろ。
これが噂の遅延フィボナッチとやら? とりあえず、TYPE_0 以外では >> 1 はしてるっぽいので安心した。
- 668 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 04:01:19 ]
- >>664
で、使ってるライブラリは何なの? MinGW? Cygwin? OSのlibc?
- 669 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 06:22:54 ]
- >>668
別に自分の環境のだけのが知りたいわけでもないんで。
- 670 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 06:43:36 ]
- そもそもgccとrand()に何の関係もないわな。
- 671 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:04:49 ]
- ぬ? UNIX/Linux だと OS が提供してるの?
- 672 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:48:20 ]
- コンパイラとライブラリが別
- 673 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:50:26 ]
- いや、ライブラリ提供者。
- 674 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:01:54 ]
- >>671
どんなOSでも、OSのランタイム環境の一部として、配布されている。 開発環境がない実行環境でも動かないといけないから。 今時はほとんどダイナミックリンクだしね。
- 675 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:07:18 ]
- >>674
OSのランタイム環境ってなんだよw rand関数提供してるOSなんて見たこと無いぞ VBのラインタイムと混同してないか? 半端な知ったかぶりするなら黙ってたほうがいいよ
- 676 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:21:27 ]
- >OSのランタイム環境の一部として
いや、ライブラリ(ry
- 677 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:40:41 ]
- >>675
UNIXではOS添付のlibc内のrand()を使うのが当然。 SolarisでもLinuxでも*BSDでも、そう。 gcc以外のコンパイラでもrand()は同じ。 MinGWだって、MinGWがrand()を提供しているんじゃなくて、msvcrtが提 供しているわけで、gccとは関係ない。
- 678 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 09:06:49 ]
- へー。勉強になった。
- 679 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:38:26 ]
- int msvcrt_rand() { rand_seed = rand_seed * 214013 + 2531011; return (rand_seed >> 16) & 0x7fff; }
int newlib_rand() { newlib_seed = newlib_seed * 6364136223846793005L + 1; return (newlib_seed >> 32) & RAND_MAX; } long glibc_rand() { x=x*1103515245+12345; return x & 2147483647; } それぞれの実装
- 680 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:47:10 ]
- glibc は何でいつまでもこんな糞実装なんだろう?
右シフトもしないなんて。
- 681 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:09:27 ]
- >>680
互換性
- 682 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:12:47 ]
- RAND_MAX を変えるのは流石に困るが、
乱数アルゴリズムに依存したコードなんて書いてる奴がいるのか・・・。
- 683 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:30:56 ]
- >>682
つ モンテカルロ法 乱数のアルゴリズムつーか、質が問題
- 684 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:32:34 ]
- つ[再現性]
- 685 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:33:23 ]
- 質が良くなる分には問題ないと思うけど。
というか、モンテカルロ法に rand を使う時点で問題がある気もする。
- 686 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:36:36 ]
- そんなに再現性が欲しいなら自前で実装しそうなんだがなあ。
- 687 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:45:00 ]
- だよなあ
- 688 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:49:10 ]
- 結局はしょっぱいプログラムの尻拭いってことか。
- 689 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 23:58:56 ]
- >>679
man読むとこんなの使ってないってはっきり書いてあるんだけど glibc
- 690 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:06:07 ]
- 質じゃなくて、性質に依存している。
性質が明記してあるのだから当たり前。
- 691 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 13:43:44 ]
- 擬似乱数
ttp://pc11.2ch.net/test/read.cgi/tech/1146071975/l50
- 692 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 13:19:01 ]
- ファイルスコープで extern int a = 0; とか書くと g++ 4.0.1 だと警告出るのな。
まあそれはいいんだけど、なぜか 2 度も同じ警告が出る。 これはバグと言っていいんだろうか。
- 693 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 06:59:55 ]
- 4.2きたね。
まだ正式リリースじゃないっぽいけど。
- 694 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 07:20:08 ]
- >>692
ヘッダに書いてるの? ソースは分割してるの? その定義が使われている .c ファイルは何個あるの?
- 695 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 07:35:16 ]
- やればわかる。
.c 1個のみ。
- 696 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:10:49 ]
- 4.2ちょっと試してみたけどやっぱりあんまり速くなってなかった。
というか遅くなってた。 4.1.2と同じオプションでコンパイルしただけだけど。
- 697 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:35:33 ]
- コンパイル速度が遅くなったのか。
それとも実行速度が遅くなったのか。
- 698 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:53:10 ]
- 実行速度だよもちろん。
-O3 -fomit-frame-pointer -march=pentiumpro くらいしか指定してないけど。
- 699 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 16:34:39 ]
- コンパイル速度の事かと思った。
- 700 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 17:03:08 ]
- コンパイル速度が速いに越したことは無いが
そもそも実行速度が速くなればフィードバックするっしょ
- 701 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 19:19:15 ]
- May 13, 2007
GCC 4.2.0 has been released.
- 702 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 03:17:36 ]
- >>698
今時pprowmarch=nativemtune=nativeでやってみたら。
- 703 名前:デフォルトの名無しさん [2007/05/18(金) 15:56:09 ]
- openmpは反則的な速さだ
- 704 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 20:22:05 ]
- gcc 4.3.0 まだー?
- 705 名前:デフォルトの名無しさん [2007/05/22(火) 21:29:58 ]
- 3.4.2 を使っている人いますか?
- 706 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 15:05:21 ]
- います。
- 707 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 17:27:07 ]
- 1.36.3を使っている人いますか?
- 708 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 19:55:53 ]
- います。
- 709 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 05:17:05 ]
- 2.95.xを使った事のないひといますか?
- 710 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:10:41 ]
- います。
- 711 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:52:44 ]
- います。
- 712 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 09:01:27 ]
- living roomって日本語でなんだっけ?
- 713 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 09:20:11 ]
- >>712
居室。一般住宅なら居間。
- 714 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 14:52:26 ]
- きょます。
- 715 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:22:37 ]
- gcc-4.2.0ってなんで自分のコンパイルにあんなにいっぱいメモリ喰うの?
- 716 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:26:53 ]
- います。
- 717 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:20:39 ]
- >>715
メモリを使うことで、gccが実際に使える環境かどうかを試験しているのです。 使えない環境なら、ビルド自体ができないというフールプルーフ設計です。 gccのビルドよりメモリを食うソフトはありませんから。
- 718 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 03:31:29 ]
- メモリ256MB
スワップ892MB FreeBSD-currentでgcc4.2使ってxorg7.2コンパイルしたら gcc internal error で落ちるから何だとおもったら swap_pager_getswapspace: failedワロタ
- 719 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 04:00:28 ]
- >>717
C++ならもっとメモリ食うよ
- 720 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 08:13:31 ]
- >>718
スワップとあわせて1G…現状では小さすぎるような。 32bitカーネル環境だとしても、合計で4Gの壁ギリギリかそれ以上とらないと、最近のアプリ全般自体が厳しいかも。 合計1Gだと、デスクトップをXfceなどで、しかもチューンして行かないと厳しいと思う。 もしくはそもそも、ビルドしている間はXやサーバ類を全て切った状態でやるか。 ま、コンパイラ周りでメモリリークしてる可能性もあるので、修正版を待ちましょう:-)
- 721 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 15:33:26 ]
- twmなら快適です
- 722 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 06:47:50 ]
- >>720
そんなことない。 メモリ 256MB、スワップ 1GB 程度でも GNOME だって充分動く。 Xorg のコンパイルでアホみたいにメモリ食うのは GCC のバグだし。 gcc.gnu.org/bugzilla/show_bug.cgi?id=30052
- 723 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 07:11:51 ]
- 4.2のかなり大きなバグがまた一つ…って感じか。
にしても、FreeBSD-currentを筆頭に、gcc-4.2に移行するOSがかなり多いのにはびっくり。
- 724 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:53:34 ]
- 4.2はいらない子
- 725 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 16:03:46 ]
- 4.2はダメな子
- 726 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:04:47 ]
- >>722
gcc-4.2.0のコンパイルにメモリバカ食いするのもgcc-4.2.0のバグですか?
- 727 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:37:33 ]
- 仕様です。
4.2がコンパイルできないようなマシンで使うなということです。
- 728 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:18:41 ]
- openmpのコード吐かせてるけど
これ対してというか全然糞もマルチスレッド化されねーぞw どうゆうことよw
- 729 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:56:11 ]
- つ export OMP_NUM_THREADS=16
- 730 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 01:16:35 ]
- >>729
それでも全然はやくねーぞ?QuadCore-Xeon2コ積んでるけど なんもはやくね。VCCだと早くなるんだよね。 絶対4.2は障害児だ
- 731 名前:・∀・)っ-くコ:彡- mailto:sage [2007/05/27(日) 02:01:18 ]
- 4.xは何かおかしい。やっぱ3.3が最強か
- 732 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 13:44:26 ]
- >>731
gcc-snapshotが最強
- 733 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:56:04 ]
- 3.3.3が一番いい子
4.3がそれを越えるいい子になってくれますように… 多分4.2よりも赤帽拡張の入った4.1.xの方が性能いいと思う
- 734 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:01:22 ]
- >>726
つ stage2
- 735 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:08:12 ]
- >>733
とはいえ、C++のことを考えるとgcc4が必須になりつつあるからなぁ。
- 736 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:08:50 ]
- 一応今入れているのがsnapshot。これだとバージョンが4.2.1って表示されますね。
でも4.2に変えてからJavaのソースからVMをmakeしようとするとエラーが出るようになった(TT) >>731 > 4.xは何かおかしい。やっぱ3.3が最強か 詳しいことはよく解らないけど、マルチメディア系のアプリとかmakeでエラーが出るやつも 3.3とか使うと何故かエラーなしでmakeできたりしてました。以前から。。。
- 737 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 16:06:11 ]
- >>736
つ-fno-strict-aliasing
- 738 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:38:36 ]
- それってWarnが厳密にErrorになっただけじゃないのか。
- 739 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 17:44:14 ]
- GCCは3以降特に4.0あたりから、文法以前に論理的に怪しい挙動に陥りそうなコーディングをエラーにする方向に行ってるからね。
逆にいえば、>>736が言っているような形でエラーが出るコードは、該当する部分の前後をチェックしながら修正かけるのが筋。 今でもコンパイルが通ってi386で動いてもPPCやSH,ARM、酷いときはamd64やia64でもコンパイルは通るけど挙動が狂ってしまうようなコードを平気で書いてるひとが少なくないようだし …Linuxなどのカーネル周りのコードでもそういうコードがあって、lkmlなどで修正が飛び交うことがよくある。
- 740 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:01:19 ]
- アライメント事情はよくわからんしなー
- 741 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:53:10 ]
- openmpは4.2じゃないと使えないの?
|

|