2 ポイント 投稿者 GN⁺ 2023-07-01 | 2件のコメント | WhatsAppで共有
  • Zigプロジェクトで、LLVM、Clang、LLDライブラリの削除が提案されています。
  • Zigは独自の最適化パスを持ち、チップメーカーから研究プロジェクトや貢献を呼び込む計画です。
  • ZigでC++、Objective-C、Objective-C++をコンパイルする機能の削除
  • Zigが生成するマシンコードは近い将来は競争力が弱まる可能性がありますが、長期的にはLLVMやGCCに追いつく、あるいは上回る可能性があります。
  • LLVMを削除する利点として、バグの責任範囲、より容易なビルドとブートストラップ、より高速なコンパイル速度、カスタム最適化パスを実装できる能力が挙げられています。
  • C++コンパイルに依存するプロジェクトへの影響や、Zigの採用率低下への懸念が提起されました。
  • DirectXShaderCompilerおよびAppleのMetalシェーダーコンパイラへの依存関係の削除は難しい可能性があります。
  • 長期的には、純粋なZigソリューションへの移行を推進します。
  • 一部のユーザーは、ゲーム開発の経験や既存のC++ライブラリおよびツールの利用への影響を懸念しています。
  • Zigのシンプルさとクロスプラットフォーム機能は高く評価されています。
  • LLVMバックエンドをデフォルトのまま維持する案や、LLVM IRへのダウンコンパイルを削除しつつCファミリーのサポートを維持する案が提示されました。
  • ユーザーは、ZigがC/C++コードを円滑にコンパイルし、高性能なバイナリを生成できる能力の重要性を強調しています。
  • 既存ライブラリの潜在的な喪失や、JITコンパイルの代替手段の必要性について議論されました。
  • この提案は、ユーザーにとって純粋に否定的な影響と、潜在的なおとり商法のようなものだと受け止められています。
  • クロスコンパイルと既存ライブラリ統合のために、Zigの機能を維持する重要性が強調されています。
  • LLVMおよびLLDへの依存関係を削除しつつ、clangをオプション依存として維持する案が提示されました。
  • 性能への影響や、LLVM代替の実現可能性に関する懸念が提起されました。
  • ゲーム開発やその他のプロジェクトにおけるC++コンパイル対応の重要性が強調されています。
  • Zigが時間の経過とともにLLVMの機能を置き換えられる可能性が言及されました。
  • 妥当な性能保証の必要性や、最適化の可能性が失われる懸念について議論されました。
  • ImGuiやTracyのような特定のライブラリやツールへの影響が言及されました。
  • ZigのツールチェーンからLLVMを削除する提案は、Zigコミュニティの分裂を招く可能性があります。
  • 一部のユーザーは移行を避けるため、以前のバージョンのZigを使い続ける可能性があります。
  • LLVM維持には課題と制約があります。
  • Zigコンパイラ向けのプラグインシステムは、長期的な解決策になり得ます。
  • Zigプログラムを他のプラットフォームや言語向けにコンパイルすることは、引き続きサポートされる可能性があります。
  • Zig ccというZig独自の機能は、独立したプロジェクトとして今後も発展し続ける可能性があります。
  • この提案については、まだ最終決定は下されていません。
  • LLVM削除をめぐる議論はソーシャルメディアでも広がっています。
  • Zig ccはコミュニティで高く評価されており、他のツールチェーンと比べて利点があります。
  • ClangなしでZig ccを維持することは可能です。
  • Clangをバンドルした別プロジェクトは、Zigを使ってC++コードをビルドする既存のユースケースを支援できる可能性があります。
  • 別ツールとしての分離、またはZig cc維持のためのメンテナ雇用が潜在的な解決策です。
  • 削除される機能に依存するコードベース向けの移行ツールを開発できる可能性があります。
  • 最近、あるソフトウェアエンジニアは、ネイティブコードジェネレータを使ってより高速なコンパイル速度を提供する新しいGHCバージョンへプロジェクトを移行しました。
  • Silk.NETプロジェクトは、zig ccとzig c++を使ってネイティブライブラリ向けの再現可能なビルド環境を提供し、容易なクロスコンパイルとローカルセットアップを可能にしています。
  • あるソフトウェアエンジニアは個人プロジェクトでzig ccとzig c++を使い、ライブラリの容易なクロスコンパイルと単一のbuild.zig設定を実現しています。
  • Intel C/C++コンパイラはLLVMの導入を完了し、より高速なコンパイル時間、より良い最適化、GPUおよびFPGAオフロード対応を提供しています。
  • ZigのLLVM部分をコミュニティ維持の別プロジェクトへ移す提案には、賛否が分かれました。
  • 一部のユーザーはZigからのC++サポート削除に懸念を示す一方、別のユーザーはサポートコストが高く予算にも含まれていないと主張しています。
  • Zigチームは、C++サポートを重要視する人は、その機能を支えるために資金面または時間面で貢献することを検討すべきだと提案しています。
  • 一部のユーザーは、LLVM削除は長期的な利益をもたらす可能性がある一方で、C++およびObj-C(++)サポートを完全に削除することには懸念を示しています。
  • Zigコンパイラをより小さく軽量なバイナリに縮小し、LLVM機能を拡張として追加する案があります.

2件のコメント

 
alstjr7375 2023-07-02

LLVM ほどの最適化やプラットフォーム対応は可能なのでしょうか..

 
GN⁺ 2023-07-01
Hacker Newsの意見
  • Zig開発チームは、LLVM依存の削除を検討中
  • 一部の人々は、LLVMからのこのような移行によって、Zigチームの焦点がZig自体から外れてしまうことを懸念している
  • 別の人々は、ZigでLLVMの一部を書き直すことは、クールで野心的なプロジェクトになり得ると考えている
  • ZigがLLVMに依存しなくなった場合、コード生成とブートストラップへの懸念がある
  • 一部の人々は、LLVMをなくすのは性急な判断であり、Zigのプラットフォームサポートを制限する可能性があると感じている
  • あるコメント投稿者は、提案書が作業量を過小評価し、LLVMに関する作業を無視していると批判している
  • LLVM削除の代償には、C++互換性の喪失と性能の潜在的な低下が含まれる
  • 一部のユーザーは、特定アーキテクチャのサポート終了がZigの人気に影響することを懸念している
  • あるコメント投稿者は、Zigの人気はC/C++互換性とインストールの容易さによる部分が大きいと述べている
  • Zigはデバッグビルドではカスタムバイトコードを使用し、リリースビルドでは引き続きLLVMに依存するようにすべきだと提案されている
  • D言語にはさまざまなバックエンドを持つ複数のコンパイラがあり、ユーザーはこの選択肢を高く評価している
  • Zigのツールチェーンは高く評価されており、Zig ccとZig c++を削除することは言語ユーザーをためらわせる可能性がある
  • 一部のコメント投稿者は、C++機能を削除する決定がZigの将来的な成功を損なう可能性があると考えている.