GCC と GCCGo: 主な違い
GCC と GCCGo は、Go 言語仕様を実装する一般的な Go コンパイラーです。
パフォーマンス
GCCGo は優れた最適化機能を備えています。その結果、GCCGo を使用してコンパイルされたプログラムは、一般に、CPU バウンドの場合に高速に実行されます。ただし、GCCGo は GCC に比べてコンパイルが遅くなります。
プロセッサのサポート
GCCGo は、ARM、SPARC、MIPS、PowerPC、Alpha などの幅広いプロセッサをサポートしています。 。逆に、GCC は主に x86 (32 ビットおよび 64 ビット) および ARM プロセッサをターゲットとしています。
互換性
GCCGo は v1.2 までの Go バージョンのみをサポートしており、最新の Go リリースとの非同期。この制限は、GCC プロジェクトと Go プロジェクトの異なる開発サイクルに起因します。
実行時の動作
GCCGo には精度の低いガベージ コレクターがあり、32 ビット環境でのパフォーマンスに影響を与える可能性があります。小さな割り当てのゴミが多数あります。一方、GCCGo は一般に高品質のコードを生成します。
実装
GCCGo は GCC のフロントエンドであるのに対し、GCC はスタンドアロン コンパイラーです。 Go 1.5 では、GCC とランタイムは完全に Go で記述されているため、ディストリビューションのビルド中に C コンパイラは必要ありません。ただし、GCCGo は依然として特定のユースケースにとって価値のあるツールです。
歴史的背景
GCCGo は GCC の基盤ではなく、代替手段として Ian Lance Taylor によって開発されました。実装。特に、Windows 用の独自の商用 Go コンパイラは一時的に存在し、消滅する前にセルフホスティング機能を主張していました。 Go の初期の Windows ポートへの著名な貢献者には、Hector Chu、Joe Poirier、Alex Brainman、Wei Guangjing が含まれます。
以上がGCC 対 GCCGo: Go コンパイラーはどちらを選択すべきですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。