Uutils 0.11၊ GNU Coreutils ၏ Rust မူကွဲ

Rust မှာရေးသားထားတဲ့ GNU Coreutils package ကို ဖွံ့ဖြိုးတိုးတက်စေတဲ့ uutils coreutils 0.11.0 (Rust Coreutils) project ကို ထုတ်ပြန်လိုက်ပါပြီ။ coreutils မှာ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln နဲ့ ls အပါအဝင် utilities ၁၀၀ ကျော်ပါဝင်ပါတယ်။ ဒီ project ရဲ့ ရည်ရွယ်ချက်ကတော့ Coreutils အစား cross-platform alternative တစ်ခု ဖန်တီးဖို့ဖြစ်ပြီး ၎င်း utilities တွေဟာ platform တွေပေါ်မှာ run နိုင်ပါတယ်။ Windows, Redox နှင့် Fuchsia။

Rust Coreutils ကို ထုတ်ဝေမှုတွင် default အနေဖြင့် enable လုပ်ထားသည်။ Ubuntu ၂၅.၁၀ နှင့် တစ်စိတ်တစ်ပိုင်း Ubuntu ဧပြီလ ၂၆ ရက်။ Rust Coreutils ကို AerynOS (Serpent OS) နှင့် Apertis (Collabora မှ တီထွင်ထားသော) ဖြန့်ချိမှုများတွင်လည်း အသုံးပြုသည်။ GNU Coreutils နှင့်မတူဘဲ၊ Rust အကောင်အထည်ဖော်မှုကို copyleft GPL အစား MIT လိုင်စင်အောက်တွင် ဖြန့်ဝေသည်။ ထို့အပြင်၊ တူညီသော developer အဖွဲ့သည် util-linux၊ diffutils၊ findutils၊ procps နှင့် acl utility suites များအပြင် sed နှင့် login ပရိုဂရမ်များ၏ Rust-based ညီမျှသော software များကို တီထွင်နေသည်။

Rust Coreutils ဗားရှင်းအသစ်တွင်-

  • GNU Coreutils benchmark suite နှင့် တွဲဖက်အသုံးပြုနိုင်မှုနှုန်းမှာ ၉၅.၃၃% (၉၄.၄၄%) ရှိသည်။ စမ်းသပ်မှု ၆၅၃ ခုကို အောင်မြင်စွာ အောင်မြင်ခဲ့ပြီး၊ ယခင်ဗားရှင်းထက် ၈ ခု ပိုများသည် (၆၄၅)။ စမ်းသပ်မှု ၂၂ ခု မအောင်မြင်ပါ (၂၉ ခုမှ ကျဆင်းသွားသည်) နှင့် စမ်းသပ်မှု ၁၅ ခုကို ကျော်သွားပါသည် (၁၅ ခုမှ ကျဆင်းသွားသည်)။
  • ariadne library ကိုအခြေခံတဲ့ diagnostic engine အသစ်တစ်ခုကို ပေါင်းစပ်ထည့်သွင်းထားပါတယ်။ terminal မှာ utility တွေကို run တဲ့အခါ visual error report တွေကိုပြသပေးပြီး ပြဿနာဖြစ်စေတဲ့ command-line argument တွေကို မီးမောင်းထိုးပြပေးပါတယ်။ error visualization ကို အောက်ပါ utility တွေမှာ enable လုပ်ထားပါတယ်- chmod, mkdir, mkfifo, mknod, install, tr, expr, sort, numfmt, cut, env, head, tail, truncate, split, shred, stdbuf, od, seq, dd, stat, join, csplit, ls, df, နဲ့ du။ UUTILS_DIAG environment variable ကို diagnostic report တွေကို disable လုပ်ဖို့ အဆိုပြုထားပါတယ်။
  • ပရိုဖိုင်လမ်းညွှန် အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ခြင်း (PGO) ကို ဖြန့်ချိမှုတည်ဆောက်မှုများအတွင်း ဖွင့်ထားပြီး ပရိုဂရမ် အကောင်အထည်ဖော်မှု အပြုအမူကို ခွဲခြမ်းစိတ်ဖြာခြင်းအပေါ် အခြေခံ၍ ပိုမိုအကောင်းဆုံးကုဒ်ကို ထုတ်လုပ်ပေးပါသည်။ ဆော့ဖ်ဝဲရေးသားသူများက အချို့သောလုပ်ဆောင်ချက်များအတွက် စွမ်းဆောင်ရည်တိုးတက်မှု ၃၁% အထိ ရှိလာမည်ဟု ခန့်မှန်းကြသည်။
  • cp (+32.93%)၊ join (မလိုအပ်သော locale နှိုင်းယှဉ်မှုများကို disable လုပ်ခြင်းဖြင့် GNU ထက် ၂.၅ ဆ ပိုမြန်သည်)၊ od၊ ptx (+4%)၊ nl၊ tail၊ expand၊ unexpand၊ numfmt နှင့် sort utilities များအတွက် စွမ်းဆောင်ရည် အကောင်းဆုံးဖြစ်အောင် လုပ်ဆောင်ထားပါသည်။ GNU Coreutils ထက် သိသိသာသာ နှေးကွေးသော လုပ်ဆောင်ချက်များရှိသည့် အခြေအနေများကို ယခုအခါ bug များအဖြစ် သတ်မှတ်ပါသည်။
  • pr၊ numfmt၊ join၊ id၊ mkdir၊ fold၊ sort၊ stat၊ od နှင့် date utilities များ၏ အပြုအမူတွင် GNU Coreutils နှင့် ကွဲလွဲမှုအချို့ကို ပြင်ဆင်ပြီးပါပြီ။
  • GNU Coreutils နှင့်သက်ဆိုင်သော ရွေးချယ်မှုများကို အကောင်အထည်ဖော်ထားသည်- "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr -f"။
  • mv၊ cp၊ rm၊ chmod နှင့် stdbuf utilities များကို လူမျိုးရေးအခြေအနေများကြောင့် ဖြစ်ပေါ်လာသော အားနည်းချက်များကို ကာကွယ်ရန် အားကောင်းအောင် ပြုလုပ်ထားပြီးဖြစ်ပြီး၊ အချက်အလက်များကို အတည်ပြုပြီးနောက်တွင်သာမက လုပ်ဆောင်ချက်တစ်ခု မလုပ်ဆောင်မီတွင်ပါ ဒေတာများကို ပြင်ဆင်နိုင်စေပါသည်။ ဥပမာအားဖြင့်၊ ဖိုင်တစ်ခုကို အတည်ပြုခြင်း ပြီးစီးခြင်းနှင့် လုပ်ဆောင်ချက်စတင်ခြင်းကြားရှိ symbolic link ဖြင့် အစားထိုးနိုင်ပါသည်။ root privileges ဖြင့် run ထားသော system scripts များတွင် cp၊ chmod နှင့် mv utilities များကို အသုံးပြုသည့်အခါ၊ ထိုကဲ့သို့သော အားနည်းချက်များသည် arbitrary files များကို ကူးယူခြင်း သို့မဟုတ် overwrite လုပ်ခြင်းကို ခွင့်ပြုနိုင်သည်။
  • split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac, နှင့် who utilities များတွင် crash များကို ဖယ်ရှားရန် လုပ်ငန်းဆောင်ရွက်ထားပါသည်။
  • kill နှင့် uptime utilities များ၏ အကောင်အထည်ဖော်ထားသော မျိုးကွဲများ Windows.
  • std၊ rustix နှင့် windows-sys လိုင်ဘရာစီယာများမှ လုပ်ဆောင်ချက်များကို အစားထိုးသည့်အနေဖြင့် byteorder၊ same-file၊ filetime၊ winapi-util၊ file_diff၊ mockstream၊ binary-heap-plus၊ compare၊ arrayref (recently compromised)၊ exacl နှင့် dns-lookup package များကို ရပ်ဆိုင်းလိုက်ပါသည်။
  • ls နှင့် comm utilities များသည် ယခုအခါ "collation" locale property ကို ပံ့ပိုးပေးထားပြီး၊ ၎င်းသည် စာလုံးများ၏ အဓိပ္ပာယ်ကို ထည့်သွင်းစဉ်းစားသည့် နှိုင်းယှဉ်မှုများကို ပြုလုပ်နိုင်စေပါသည် (ဥပမာ၊ နှိုင်းယှဉ်နေစဉ်အတွင်း accent mark များကို လျစ်လျူရှုနိုင်ပါသည်)။
  • nl နှင့် cut utilities များတွင် multibyte စာလုံးများကို ပိုမိုကောင်းမွန်စွာ ကိုင်တွယ်ခြင်း။

ထို့အပြင်၊ Canonical သည် Dev Container သတ်မှတ်ချက်နှင့် ကိုက်ညီသော Rust ဖွံ့ဖြိုးတိုးတက်မှုအတွက် စမ်းသပ် container image နှစ်ခုကို ထုတ်ပြန်ခဲ့သည်။ ပထမ image တွင် Rust 1.93၊ Cargo၊ rust-analyzer၊ Clippy၊ Rustfmt၊ Miri (သတ်မှတ်ထားခြင်းမရှိသော အပြုအမူကို ထောက်လှမ်းရန် interpreter တစ်ခု)၊ cargo-auditable (build auditing)၊ GCC၊ Clang၊ LLD၊ pkg-config၊ Just၊ Git၊ Vim၊ Helix၊ Ripgrep၊ Hyperfine၊ Bacon၊ xh နှင့် curl တို့ ပါဝင်သည်။ ဒုတိယ image တွင် development package များလည်း ပါဝင်သည်။ Ubuntugit-buildpackage, sbuild, ubuntu-dev-tools၊ devscripts၊ dh-make၊ dh-cargo၊ autopkgtest၊ cargo-vendor-filterer။

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster