GCC 4.1 55
ストーリー by Acanthopanax
最適化 部門より
最適化 部門より
Anonymous Coward曰く、"フリーコンパイラ、GCC 4.1がリリースされた(編注: まだリリースされていない。追記参照)。Release Changesによれば、改善された最適化インフラ、CとObjective-C用の新パーサー(古いBisonベースのパーサーを取っ払って高速な再帰下降パーサーに取り替え)などの点が主に改善された。既に開発が始まっているGCC 4.2でのGCC改良予定計画についてはGCC Wiki - GCC 4.2 Projectsを参照されたい。同時に、4.1系の開発はバグフィックスとドキュメントの修正のみに限定される。"
[2005-11-26 21:50 JST Acanthopanaxによる追記] コメント#838427以下のスレッドにあるように、リリースはまだでした。大変失礼いたしました。
なぜか勘違いする人が多いようですが (スコア:5, 参考になる)
Re:なぜか勘違いする人が多いようですが (スコア:4, 参考になる)
たれこみ者は GCC のページが更新されたのを見て勘違いしたのかな?
現状は、リリース前のバグフィックスの期間に入っているところです。
通常、リリース前にはリリース前バージョンを出します。メーリングリストでもアナウンスされるので
すぐにわかるものなのですが。
例えば、このあたりとか、ね。
http://gcc.gnu.org/ml/gcc/2005-11/threads.html
Re:なぜか勘違いする人が多いようですが (スコア:5, 参考になる)
本家にも24日付で GCC 4.1 Released [slashdot.org] というストーリーがあるのでそれで勘違いしたんじゃないかな?
Re:なぜか勘違いする人が多いようですが (スコア:2, 参考になる)
付いてますね。
Re:なぜか勘違いする人が多いようですが (スコア:1, すばらしい洞察)
Re:なぜか勘違いする人が多いようですが (スコア:0)
だとしたら日本語を母国語の/.jerが勘違いで読み取ってしまうのはしかたないですね。
Re:なぜか勘違いする人が多いようですが (スコア:2, 興味深い)
configure --prefix=/usr/local/gcc41
でやったんですが、30分ぐらいであっさり インストールは完了してしまいました。
make CC=/usr/local/gcc41/bin/gcc ではうまくコンパイル は動かずに、-I/usr/local/gcc41/lib/gcc/i686-pc-linux-gnu/4.1.0/include というオプションを加えなければいけませんでした。 コンパイルスピードはgcc-3.3.6 と比べると15%ほど 遅くなっているみたいです。 速くなったのかと思ってインストールしたんですが;;
Re:なぜか勘違いする人が多いようですが (スコア:2, 参考になる)
Re:なぜか勘違いする人が多いようですが (スコア:1, 参考になる)
Re:なぜか勘違いする人が多いようですが (スコア:0)
Re:なぜか勘違いする人が多いようですが (スコア:0)
Re:なぜか勘違いする人が多いようですが (スコア:0)
Re:なぜか勘違いする人が多いようですが (スコア:1)
make; echo ^G; echo ^G (スコア:5, すばらしい洞察)
#最近コンパイルが速くて寝てられない
Re:make; echo ^G; echo ^G (スコア:2, おもしろおかしい)
Re:なぜか勘違いする人が多いようですが (スコア:1, 興味深い)
あと最近のだとtcc [bellard.free.fr]とか。
Re:なぜか勘違いする人が多いようですが (スコア:2, 興味深い)
コンパイル時間をほとんど認識できないぐらい高速で
インタプリタかと間違えるぐらいです。
言語規格への準拠の度合いなどは性能ではなく機能の範疇ですし、
「性能」として測れる指標としては、あとは
コンパイラが出力するコードの速度・サイズぐらいですかね。
Re:なぜか勘違いする人が多いようですが (スコア:1, 興味深い)
その代わりIDE起動はどんどん遅く・・・
Eclipseよりひどい
Re:なぜか勘違いする人が多いようですが (スコア:1, 参考になる)
>インタプリタかと間違えるぐらいです。
その代わり実行ファイルが大きいんだよなぁ。
以前、Delphi で書いたものを C で書き直したら半分ぐらいのサイズになったことがあります。
Re:なぜか勘違いする人が多いようですが (スコア:2, 参考になる)
そりゃライブラリのせいでは??
C++Builderと同じライブラリ、同じプログラムでサイズが全然違うならまだしも。
コンパイラそのもののせいではありません。
Re:なぜか勘違いする人が多いようですが (スコア:1)
ランタイムをダイナミックリンクするようにすればかなり小さくなりますが。
そのかわり別途ランタイムインストールしないといけないですけどね。
その点VC++はランタイムが勝手に入ってること多いので有利だよなぁ。
手の込んだ処理で (スコア:0)
プログラムの実行時間が5分から3分に短縮されるなら嬉しいな。
コンパイル時間が10時間から15時間に延びて、コンパイルした
プログラムの実行時間が5分から3分に短縮されるなら悲しいな。
#実行頻度にもよるけど
Re:なぜか勘違いする人が多いようですが (スコア:1)
ってあまり重要視しないんじゃないかな。
wild wild computing
Re:なぜか勘違いする人が多いようですが (スコア:0)
Re:なぜか勘違いする人が多いようですが (スコア:1)
# Gentoo portage には 4.1.0_beta 用の portage があるので、
# 人柱er 志望者は beta を試せます。
# まあ、フツー追っかけの人は
# ../gcc-*/configure && make
# してるでしょうけど...
感想 (スコア:2, 参考になる)
あと、Adaなんて言語に新規機能が追加されているのが、ラブレイス男爵夫人には悪いがあまり需要があるように思えなかったのでやや驚きでした。
# かなりチラシの裏っぽいけどID
/.configure;oddmake;oddmake install
Re:感想 (スコア:2, おもしろおかしい)
えっと、 誰も訂正しないみたいなので――伯爵夫人です。
Re:感想 (スコア:0)
# GNU CC なのになんでfortranが、とか小一時間悩んだAC
Re:感想 (スコア:1, 参考になる)
GCC は Ver. 2.95 くらいから GNU Compiler Collection の略です。
(それまではGNU C Compiler だったようです)
Re:感想 (スコア:2, 参考になる)
Re:感想 (スコア:1, 興味深い)
便乗してチラシの裏
このへん [meta-comm.com]はどうなるんだろう…
Re:感想 (スコア:0)
…えーっと国防システム系とか
Objective-C++ (スコア:2, 興味深い)
とのことですが、Objective-C++はマージされたのでしょうか?
Objective-C++がApple独占では使いたくても使えません。
D and Objective-C++ (スコア:2, 参考になる)
そもそも Apple 方面以外に需要があるのか、という突っ込みはナシですか? :-)
# まあ、あればあったでよい玩具 (←褒め言葉) として
# 遊んでしまいそうな気はしますが。
D Front End for GCC [earthlink.net] patch がうまく当たるかどうかは試してませんが、0.16 は gcc-4.0.x までしか対応していないようですね。
Re:D and Objective-C++ (スコア:1)
NeXT の時代から、gcc には Objective-C がついています。ジョブスとストールマンの逸話は結構有名だと思っていましたが…。
今現在、Apple 以外に需要があるのかと言われれば、他の方がコメントしている GNUSTEP ぐらいかと思いますが。
なんか、NeXTSTEP 以外にも Objective-C を使ってるものがあった気がしますが、それは忘れてしまいました…。
--- show mpls ldp neighbor
Re:D and Objective-C++ (スコア:2)
stepstone で Objective-C が誕生して、それを NeXT で使ったという感じで。
--- show mpls ldp neighbor
Re:D and Objective-C++ (スコア:0)
つ【GNUstep】
というか、とっくの昔にマージされてたものと思い込んでたけど、違ったんか… アポーにはPCHサポートで恩がありますが。
Re:D and Objective-C++ (スコア:0)
Re:D and Objective-C++ (スコア:0)
で、ぐぐってみたら(はじめからそうすればいいのに)答えが出てきた [gnu.org]。今はMike Stump氏がObjective-C/Objective-C++担当でbranch切って作業を進めているところらしい。ちなみにGCCは最近CVSからSVNへ移行してる [gnu.org]ので注意。
Appleといえば (スコア:1, 参考になる)
そもそもLLVMって何? (スコア:2, 興味深い)
----------------------------------------
Low Level Virtual Machine (LLVM) とは:
A compilation strategy designed to enable effective program optimization across the entire lifetime of a program.
プログラムのライフタイム全体にわたる、効果的な最適化が可能なように設計されたコンパイル戦略である。
LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
LLVMは、コンパイル時、リンク時(特に手続き間における)、実行時、およびオフライン時(すなわち、ソフトウェアがインストールされた後)における効果的な最適化をサポートしており、なおかつ、開発者にとっては透過的で、既存のビルドスクリプトに関する互換性が維持されている。
A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands.
仮想命令セット - LLVMは低レベルなオブジェクトコード表現である。これは、単純なRISC風命令ではあるが、言語から独立した、オペランドに関する型情報およびデータフロー(SSA)情報を十分に提供する。
This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable.
これらによって、実行ファイルに付加するのに十分軽量なままで、オブジェクトコードにおける洗練された変換が可能になる。
This combination is key to allowing link-time, run-time, and offline transformations.
これらは、リンク時、実行時、およびオフライン時における変換を可能にする鍵である。
【訳注】「this combination」は「RISC風命令+型情報+データフロー情報」のこと?
A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy.
コンパイラインフラストラクチャ - また、LLVMは言語とコンパイル戦略を実装するソースコードの集まりでもある。
The primary components of the LLVM infrastructure are a GCC-based C & C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for the X86, PowerPC, IA-64, Alpha, & SPARC V9 architectures, a back-end which emits portable C code, and a Just-In-Time compiler for X86, PowerPC, and SPARC V9 processors.
LLVMインフラストラクチャの第一の構成要素は、GCCベースのCおよびC++フロントエンド、グローバルで手続き間における解析と変換まで行う(???)リンク時の最適化フレームワーク、X86、PowerPC、IA-64、Alpha、およびSPARC V9アーキテクチャのための静的なバックエンド、ポータブルなCコードを出力するバックエンド、および、X86、PowerPC、およびSPARC V9プロセッサのためのジャストインタイムコンパイラからなる。
LLVM does not imply things that you would expect from a high-level virtual machine.
LLVMはあなたが高度なバーチャルマシンに期待するような機能は持ち合わせていない。
It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!).
LLVMはガーベージコレクションや実行時コード生成を必要としない。(すなわち、LLVMはすばらしい静的コンパイラを作る(?)のである)
Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.
任意のLLVMコンポーネントは、高度なバーチャルマシンやそのようなサービスを必要とする皮下のシステムを構築するのに利用可能なことに注意せよ。
LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations of all sorts, including those that require extensive interprocedural analysis.
LLVMは、強健(robust)なシ
Re:そもそもLLVMって何? (スコア:1, 参考になる)
http://amrita.s14.xrea.com/d/?date=20040324#p02 [xrea.com]
Re:Objective-C++ (スコア:0)
Re:Objective-C++ (スコア:1)
もし何か違いがあると思うならDarwin [apple.com]でソースを見ると良いでしょう。
ものぐさ者の疑問 (スコア:1, 参考になる)
sidつかってますが、又、Qtとか使ってるプログラムがややこしいことになりそうな(;´Д`)
COBOLは (スコア:1, おもしろおかしい)
Re:COBOLは (スコア:2, おもしろおかしい)
Re:COBOLは (スコア:1, 興味深い)
オフトピ(Re:工作活動?) (スコア:1)
あんなのが、日に数百、数千と投稿され始めたら、論文誌なんて機能しなくなりそうな気が、、、
uxi
Re:オフトピ(Re:工作活動?) (スコア:1)
#国民投票ネタを作成してくれる人工知能(or 2ゲッター ロボ)がでないかなぁ
タブレット中毒者。