HeadlinesBriefing favicon HeadlinesBriefing.com

Nix-এ SQLite লুকিয়ে আনোর তিনটি উপায়

Hacker News •
×

nixpkgs-multiverse প্রজেক্ট JSON সূচক (versions.json 5.3 MiB-এ, history.json 7.5 MiB-এ) ব্যবহার করে যা 305,492 প্যাকেজ সংস্করণকে 31,904 প্যাকেজে কভার করে। Nix-এর builtins.fromJSON পুরো ফাইলগুলিকে আগ্রহপূর্বক পার্স করে, যা একক লুকআপের খরচকে ফুল স্ক্যানের সমান করে তোলে।

তিনটি ওয়ার্কঅরাউন্ড রয়েছে। builtins.exec (২০১৭ থেকে) SQLite চালায় এবং এর Nix-ফরম্যাটেড আউটপুট পার্স করে, কিন্তু প্রতি কোয়েরি একটি প্রসেস স্পন করে। builtins.importNative (২০১৪ থেকে) ক্যাশড SQLite হ্যান্ডেল সহ একটি শেয়ার্ড লাইব্রেরি লোড করে, স্টার্টআপ ওভারহেড এড়ায়। উভয়ই allow-unsafe-native-code-during-evaluation প্রয়োজন।

একটি তৃতীয় পদ্ধতি সূচকটিকে 6.0 MiB Nix ফাইলে রূপান্তর করে, Nix-এর অলস মূল্যায়নের সুবিধা নিয়ে শুধু প্রয়োজনীয় অ্যাট্রিবিউটগুলিকে স্পর্শ করে। একটি চতুর্থ বিকল্প, builtins.wasm (মার্চ ২০২৬), WebAssembly ফাংশন কল করে, নতুন builtins ছাড়া Nix প্রসারিত করে।

মূল এন্টিটি: কোম্পানি: Determinate Systems | লোক: Eelco, rickynils, fmzakari