Nix-Ninja Hadirkan Kompilasi Inkremental ke Nix Menggunakan Derivasi Dinamis
Nix-Ninja Hadirkan Kompilasi Inkremental ke Nix Menggunakan Derivasi Dinamis
Ekosistem open-source Nix sedang menyaksikan perkembangan menarik dengan hadirnya nix-ninja, sebuah alat yang menjanjikan revolusi dalam alur kerja kompilasi dengan memanfaatkan fitur eksperimental derivasi dinamis dari Nix. Inovasi ini telah memicu minat yang signifikan di komunitas pengembang, terutama di antara mereka yang bekerja dengan sistem build yang kompleks.Derivasi Dinamis: Jalan Menuju Rilis StabilSalah satu aspek yang paling banyak dibahas dalam komunitas adalah jadwal untuk menstabilkan derivasi dinamis di Nix. Saat ini, nix-ninja bergantung pada fitur eksperimental dari versi Nix yang belum dirilis, yang menimbulkan pertanyaan tentang kapan fitur-fitur ini mungkin akan didukung secara resmi.Seorang pengembang inti Nix yang terlibat dengan derivasi dinamis telah memberikan kejelasan tentang roadmap, menjelaskan bahwa derivasi dinamis bergantung pada derivasi berbasis konten, yang telah berada dalam status fitur eksperimental untuk beberapa waktu. Namun, dengan upaya yang terfokus dan manajemen ruang lingkup, stabilisasi dapat dicapai dalam waktu dekat. Pengembang tersebut menggambarkan pekerjaan yang tersisa sebenarnya tidak terlalu banyak meskipun merupakan serangkaian yak shaves - istilah yang mengacu pada rangkaian tugas yang tampaknya tidak terkait yang harus diselesaikan sebelum menangani tujuan utama.Potensi Performa untuk Build KompleksImplikasi performa dari nix-ninja sangat menjanjikan. Alat ini bertujuan untuk memungkinkan kompilasi inkremental yang benar-benar efisien, di mana mengubah satu file C/C++ di mana pun dalam grafik build hanya akan memerlukan kompilasi ulang file tersebut dan menautkan kembali hanya executable atau shared library yang terpengaruh.Meskipun masih dalam pengembangan, pengujian awal menunjukkan bahwa overhead sandboxing Nix dapat diabaikan untuk tugas kompilasi inkremental. Namun, beberapa fitur masih belum tersedia, seperti penanganan yang tepat untuk target yang bergantung pada file sumber yang dihasilkan (seperti parser bison Nix), yang saat ini sedang ditindaklanjuti sebagai masalah terbuka.Tujuan jangka panjang adalah jika Anda tidak mengubah header dan hanya mengubah satu file C/C++, di mana pun dalam grafik build untuk seluruh sistem, Anda seharusnya mendapatkan kompilasi ulang yang cepat hanya untuk file tersebut + menautkan kembali hanya executable/shared library yang menggunakan file objek output tersebut.Fitur Utama nix-ninjaMengurai file ninja.build dan menghasilkan derivasi per unit kompilasiMenyimpan input & output build dalam derivasi berbasis konten untuk inkrementalitas yang terperinciCLI yang kompatibel untuk ninja (dapat digunakan sebagai pengganti langsung)Mendukung menjalankan secara lokal atau di dalam derivasi NixPersyaratanNix dengan fitur eksperimental yang diaktifkan:nix-commanddynamic-derivationsca-derivationsrecursive-nixTonggak Pengembangan0.1.0: Rilis pertama yang berfokus pada kebenaran0.2.0: Fitur performa utama untuk membuat build inkremental lebih produktifFokus Strategis pada File Build NinjaPara pengembang memilih untuk menargetkan file build Ninja secara khusus, yang terbukti menjadi keputusan strategis. Dengan mendukung Ninja sebagai representasi grafik build, nix-ninja dapat bekerja dengan banyak sistem build populer seperti CMake, meson, premake, dan gn yang menghasilkan file Ninja.Pendekatan ini sangat relevan untuk komunitas Nix karena Nix sendiri menggunakan meson dan menghasilkan file Ninja. Pilihan ini memungkinkan pendekatan inkremental dan dapat dikontribusikan oleh banyak pihak untuk meningkatkan performa build di seluruh ekosistem, dimulai dengan proyek besar seperti LLVM dan Chromium yang akan paling diuntungkan dari kompilasi inkremental.Sementara nix-ninja terus berkembang menuju tonggak 0.1.0 yang berfokus pada kebenaran dan rilis 0.2.0 berikutnya yang menargetkan fitur performa, proyek ini merepresentasikan langkah yang menjanjikan menuju pembuatan build Nix yang lebih efisien tanpa memerlukan penulisan ulang besar-besaran dari sistem build yang ada. Bagi pengembang yang bekerja dengan basis kode yang kompleks, alat ini dapat secara signifikan meningkatkan produktivitas dengan mengurangi waktu kompilasi dan menyediakan inkrementalitas yang lebih terperinci melalui derivasi berbasis konten Nix.Referensi: nix-ninja
2 jam yang lalu
InitWare Muncul sebagai Alternatif Portabel dan Modular untuk systemd
Startup
2 jam yang lalu
InitWare Muncul sebagai Alternatif Portabel dan Modular untuk systemd
Bill Gates Merayakan Ulang Tahun ke-50 Microsoft dengan Merilis Kode Sumber BASIC Asli
Microsoft
3 jam yang lalu
Bill Gates Merayakan Ulang Tahun ke-50 Microsoft dengan Merilis Kode Sumber BASIC Asli
Pendapatan ChatGPT Melonjak Menjadi 415 Juta Dolar AS per Bulan karena Pelanggan Berbondong-bondong Menggunakan Fitur Premium
4 jam yang lalu
Pendapatan ChatGPT Melonjak Menjadi 415 Juta Dolar AS per Bulan karena Pelanggan Berbondong-bondong Menggunakan Fitur Premium
Apple Berusia 49 Tahun: Bagaimana Inovasinya Meluas hingga Manajemen Baterai iPhone
Apple
5 jam yang lalu
Apple Berusia 49 Tahun: Bagaimana Inovasinya Meluas hingga Manajemen Baterai iPhone
Anthropic Meluncurkan Claude untuk Pendidikan untuk Mengubah Peran AI dalam Pembelajaran Tingkat Tinggi
AI
5 jam yang lalu
Anthropic Meluncurkan Claude untuk Pendidikan untuk Mengubah Peran AI dalam Pembelajaran Tingkat Tinggi
Rumor Google Pixel 10 Pro Fold: Desain Sama, Harga Lebih Murah, Namun Kekhawatiran Kamera Tetap Ada
Telepon
6 jam yang lalu
Rumor Google Pixel 10 Pro Fold: Desain Sama, Harga Lebih Murah, Namun Kekhawatiran Kamera Tetap Ada
Samsung Galaxy Ring 2 Mungkin Akan Menampilkan Teknologi Baterai Solid-State Revolusioner pada 2025
Perangkat Wearable
9 jam yang lalu
Samsung Galaxy Ring 2 Mungkin Akan Menampilkan Teknologi Baterai Solid-State Revolusioner pada 2025
Google Memperkuat Keamanan Chrome dengan Persyaratan HTTPS Baru dan Membawa Ekstensi Gaya Desktop ke Android
Keamanan
10 jam yang lalu
Google Memperkuat Keamanan Chrome dengan Persyaratan HTTPS Baru dan Membawa Ekstensi Gaya Desktop ke Android
Samsung Galaxy M56 Terlihat dengan Exynos 1480: Kemungkinan Penurunan dari M55?
Telepon
11 jam yang lalu
Samsung Galaxy M56 Terlihat dengan Exynos 1480: Kemungkinan Penurunan dari M55?
Mithril.js: Framework Ringan yang Bertahan Uji Waktu
14 jam yang lalu
Mithril.js: Framework Ringan yang Bertahan Uji Waktu
Pustaka Textcase Python Memecahkan Tantangan Konversi Huruf Besar/Kecil Tanpa Dependensi
14 jam yang lalu
Pustaka Textcase Python Memecahkan Tantangan Konversi Huruf Besar/Kecil Tanpa Dependensi
Headscale Mendapatkan Daya Tarik di Kalangan Pengguna Self-Hosting Meskipun Ada Kekhawatiran Keamanan
Keamanan
14 jam yang lalu
Headscale Mendapatkan Daya Tarik di Kalangan Pengguna Self-Hosting Meskipun Ada Kekhawatiran Keamanan
Age LAN Server Mempertahankan Fungsionalitas Multiplayer untuk Age of Empires Definitive Editions
Game Komputer
14 jam yang lalu
Age LAN Server Mempertahankan Fungsionalitas Multiplayer untuk Age of Empires Definitive Editions
Titik Pelacakan Printer: Pengawasan Tersembunyi dalam Cetakan Warna Anda dan Cara Mengatasinya
Keamanan
20 jam yang lalu
Titik Pelacakan Printer: Pengawasan Tersembunyi dalam Cetakan Warna Anda dan Cara Mengatasinya
Google NotebookLM Mendapatkan Fitur Penemuan Sumber Web, Tetapi Pengguna Masih Menginginkan Lebih
AI
Kemarin
Google NotebookLM Mendapatkan Fitur Penemuan Sumber Web, Tetapi Pengguna Masih Menginginkan Lebih
Pembaruan Pelacakan Presisi UWB Find My Device Google Mendekati Penyelesaian
Aplikasi
Kemarin
Pembaruan Pelacakan Presisi UWB Find My Device Google Mendekati Penyelesaian
Kacamata Pintar Hypernova dari Meta Akan Hadir Tahun Ini dengan Layar Bawaan, Harga Lebih dari 1.000 Dolar
Perangkat Wearable
Kemarin
Kacamata Pintar Hypernova dari Meta Akan Hadir Tahun Ini dengan Layar Bawaan, Harga Lebih dari 1.000 Dolar
Sony Memperkenalkan Jajaran TV Bravia 2025: Flagship QD-OLED Baru Menjanjikan Peningkatan Kecerahan 50%
Kemarin
Sony Memperkenalkan Jajaran TV Bravia 2025: Flagship QD-OLED Baru Menjanjikan Peningkatan Kecerahan 50%
RTX 5080 Menjadi GPU Nvidia Seri 50 Pertama yang Muncul dalam Survei Perangkat Keras Steam
GPU
Kemarin
RTX 5080 Menjadi GPU Nvidia Seri 50 Pertama yang Muncul dalam Survei Perangkat Keras Steam