Nix-Ninja が Dynamic Derivations を活用して Nix に増分コンパイルをもたらす
Nix-Ninja が Dynamic Derivations を活用して Nix に増分コンパイルをもたらす
オープンソースの Nix エコシステムは、 Nix の実験的な dynamic derivations 機能を活用してコンパイルワークフローを革新することを約束する nix-ninja というツールで、エキサイティングな発展を目撃しています。この革新は、特に複雑なビルドシステムを扱う開発者コミュニティの間で大きな関心を集めています。Dynamic Derivations:安定版リリースへの道コミュニティで最も議論されている側面の一つは、 Nix における dynamic derivations の安定化のタイムラインです。現在、 nix-ninja はまだリリースされていない Nix のバージョンの実験的機能に依存しており、これらの機能がいつ公式にサポートされるかという疑問が生じています。dynamic derivations に関わる Nix の中核開発者は、ロードマップについていくつかの明確な説明を提供しており、 dynamic derivations はしばらくの間実験的機能の状態にあるコンテンツアドレッシング derivations に依存していると説明しています。しかし、集中的な努力と範囲管理により、近い将来の安定化は達成可能かもしれません。開発者は、残りの作業について、主な目標に取り組む前に完了しなければならない一連の一見無関係なタスクを指す「ヤクの毛刈り」であるにもかかわらず、実際には膨大な量ではないと特徴づけています。複雑なビルドのパフォーマンス可能性nix-ninja のパフォーマンスへの影響は特に有望です。このツールは、ビルドグラフのどこかで単一の C/C++ ファイルを変更した場合、そのファイルのみを再コンパイルし、影響を受ける実行ファイルや共有ライブラリのみを再リンクする真の増分コンパイルを可能にすることを目指しています。まだ開発中ですが、初期のテストでは、増分コンパイルタスクにおける Nix のサンドボックスのオーバーヘッドは無視できるレベルであることが示されています。ただし、( Nix の bison パーサーのような)生成されたソースファイルに依存するターゲットの適切な処理など、一部の機能はまだ欠けており、現在オープンな問題として追跡されています。「長期的な最終目標は、ヘッダーを変更せず、システム全体のビルドグラフのどこかで単一の C/C++ のみを変更した場合、そのファイルだけを迅速に再コンパイルし、出力オブジェクトファイルが組み込まれている実行ファイル/共有ライブラリだけを再リンクすることです。」nix-ninjaの主な特徴ninja.buildファイルを解析し、コンパイル単位ごとに派生物(derivation)を生成細かい増分性のために、ビルド入力と出力をコンテンツアドレス指定の派生物に保存ninjaと互換性のあるCLI(ドロップイン置き換えとして使用可能)ローカルでの実行またはNix派生物内での実行をサポート要件以下の実験的機能を有効にしたNix:nix-commanddynamic-derivationsca-derivationsrecursive-nix開発マイルストーン0.1.0: 正確性に焦点を当てた最初のリリース0.2.0: 増分ビルドを生産的にするための主要なパフォーマンス機能Ninja ビルドファイルへの戦略的焦点開発者たちは特に Ninja ビルドファイルをターゲットにすることを選択しました。これは戦略的な決断であることが証明されています。ビルドグラフ表現として Ninja をサポートすることで、 nix-ninja は CMake 、 meson 、 premake 、 gn など、 Ninja ファイルを出力する多数の人気のあるビルドシステムと連携することができます。このアプローチは、 Nix 自体が meson を使用し Ninja ファイルを出力するため、 Nix コミュニティにとって特に関連性があります。この選択により、 LLVM や Chromium のような増分コンパイルから最も恩恵を受ける大規模プロジェクトから始めて、エコシステム全体のビルドパフォーマンスを改善するための段階的で協力的なアプローチが可能になります。nix-ninja が正確性に焦点を当てた 0.1.0 マイルストーンとその後のパフォーマンス機能を対象とした 0.2.0 リリースに向けて開発を続ける中、このプロジェクトは既存のビルドシステムの大規模な書き換えを必要とせずに Nix ビルドをより効率的にするための有望なステップを表しています。複雑なコードベースを扱う開発者にとって、このツールはコンパイル時間を短縮し、 Nix のコンテンツアドレス指定 derivations を通じてより細かい増分性を提供することで、生産性を大幅に向上させる可能性があります。参考: nix-ninja
2 時間前
InitWare、systemdに代わるポータブルでモジュラーな選択肢として登場
スタートアップ
2 時間前
InitWare、systemdに代わるポータブルでモジュラーな選択肢として登場
Bill Gates が Microsoft 50周年を記念して、オリジナルBASICソースコードを公開
Microsoft
3 時間前
Bill Gates が Microsoft 50周年を記念して、オリジナルBASICソースコードを公開
ChatGPT の収益が月間4億1500万ドルに急増、プレミアム機能に加入者が殺到
4 時間前
ChatGPT の収益が月間4億1500万ドルに急増、プレミアム機能に加入者が殺到
Apple 設立49周年:iPhone のバッテリー管理にまで及ぶ革新
Apple
4 時間前
Apple 設立49周年:iPhone のバッテリー管理にまで及ぶ革新
Anthropic が高等教育におけるAIの役割を変革する Claude for Education を発表
AI
4 時間前
Anthropic が高等教育におけるAIの役割を変革する Claude for Education を発表
Google Pixel 10 Pro Fold の噂:同じデザイン、低価格化、しかしカメラの懸念は残る
スマホ
5 時間前
Google Pixel 10 Pro Fold の噂:同じデザイン、低価格化、しかしカメラの懸念は残る
Samsung Galaxy Ring 2、2025年に革新的な全固体電池技術を搭載か
ウェアラブルデバイス
9 時間前
Samsung Galaxy Ring 2、2025年に革新的な全固体電池技術を搭載か
Google、Chromeのセキュリティを新しいHTTPS要件で強化し、デスクトップスタイルの拡張機能をAndroidに導入
セキュリティ
9 時間前
Google、Chromeのセキュリティを新しいHTTPS要件で強化し、デスクトップスタイルの拡張機能をAndroidに導入
Samsung Galaxy M56 が Exynos 1480 を搭載しているのが確認される:M55 からのダウングレードの可能性?
スマホ
11 時間前
Samsung Galaxy M56 が Exynos 1480 を搭載しているのが確認される:M55 からのダウングレードの可能性?
Mithril.js:時の試練に耐える軽量フレームワーク
13 時間前
Mithril.js:時の試練に耐える軽量フレームワーク
Python の Textcase ライブラリが依存関係ゼロでケース変換の課題を解決
13 時間前
Python の Textcase ライブラリが依存関係ゼロでケース変換の課題を解決
セキュリティ懸念にもかかわらず、セルフホスターの間で Headscale が支持を集める
セキュリティ
14 時間前
セキュリティ懸念にもかかわらず、セルフホスターの間で Headscale が支持を集める
Age LAN Server が Age of Empires Definitive Editions のマルチプレイヤー機能を保存
コンピュータゲーム
14 時間前
Age LAN Server が Age of Empires Definitive Editions のマルチプレイヤー機能を保存
プリンタートラッキングドット:カラー印刷物に隠された監視とその対策
セキュリティ
20 時間前
プリンタートラッキングドット:カラー印刷物に隠された監視とその対策
Google NotebookLM にウェブソース検索機能が追加されるも、ユーザーはさらなる改善を望む
AI
昨日
Google NotebookLM にウェブソース検索機能が追加されるも、ユーザーはさらなる改善を望む
Google の Find My Device UWB 精密トラッキング機能のアップデートが完成に近づく
アプリ
昨日
Google の Find My Device UWB 精密トラッキング機能のアップデートが完成に近づく
Meta の Hypernova スマートグラス、ディスプレイ内蔵で1,000ドル以上の価格で今年発売予定
ウェアラブルデバイス
昨日
Meta の Hypernova スマートグラス、ディスプレイ内蔵で1,000ドル以上の価格で今年発売予定
Sony が2025年 Bravia テレビラインナップを発表:新型 QD-OLED フラッグシップは50%の輝度向上を約束
昨日
Sony が2025年 Bravia テレビラインナップを発表:新型 QD-OLED フラッグシップは50%の輝度向上を約束
RTX 5080 が Steam ハードウェア調査に登場した初めての Nvidia 50シリーズ GPU に
GPU
昨日
RTX 5080 が Steam ハードウェア調査に登場した初めての Nvidia 50シリーズ GPU に