การเปิดตัว uutils 0.7 ซึ่งเป็นตัวแปร Rust ของ GNU Coreutils

โครงการ uutils coreutils 0.7.0 (Rust Coreutils) ได้รับการเผยแพร่แล้ว โดยพัฒนาโปรแกรมที่คล้ายกับแพ็กเกจ GNU Coreutils ที่เขียนด้วยภาษา Rust coreutils ประกอบด้วยยูทิลิตี้มากกว่าร้อยรายการ ได้แก่ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln และ ls เป้าหมายของโครงการนี้คือการสร้างทางเลือกการใช้งาน Coreutils แบบข้ามแพลตฟอร์ม รวมถึงแพลตฟอร์มอื่นๆ ที่สามารถทำงานบนแพลตฟอร์ม Windows, Redox และ Fuchsia

Rust Coreutils ถูกเปิดใช้งานโดยค่าเริ่มต้นใน Ubuntu 25.10 และถูกใช้ในระบบปฏิบัติการ AerynOS (Serpent OS) และ Apertis (พัฒนาโดย Collabora) แตกต่างจาก GNU Coreutils ตรงที่การใช้งาน Rust นั้นเผยแพร่ภายใต้ใบอนุญาต MIT ที่อนุญาตให้ใช้งานได้อย่างอิสระ แทนที่จะเป็น GPL ที่จำกัดสิทธิ์ ทีมพัฒนาเดียวกันนี้ยังพัฒนาโปรแกรมยูทิลิตี้อื่นๆ ที่ใช้ Rust เช่น util-linux, diffutils, findutils, procps และ acl รวมถึงโปรแกรม sed และ login ด้วย

ใน Rust Coreutils เวอร์ชันใหม่:

  • อัตราความเข้ากันได้กับชุดทดสอบประสิทธิภาพ GNU Coreutils อยู่ที่ 94.59% (ลดลงจาก 96.28%) มีการทดสอบผ่าน 629 รายการ ซึ่งมากกว่าเวอร์ชันก่อนหน้า 7 รายการ (622 รายการ) มีการทดสอบล้มเหลว 23 รายการ (ลดลงจาก 16 รายการ) และมีการข้ามการทดสอบ 13 รายการ (ลดลงจาก 7 รายการ) การลดลงของความเข้ากันได้เกิดจากการอัปเดตชุดทดสอบประสิทธิภาพเป็นเวอร์ชัน GNU Coreutils 9.10 ซึ่งเพิ่มการทดสอบใหม่ 19 รายการ ในแง่ของจำนวนการทดสอบทั้งหมด Rust Coreutils ผ่านการทดสอบมากกว่าเวอร์ชันก่อนหน้า 7 รายการ
  • การปรับปรุงความเข้ากันได้ที่สำคัญที่สุดพบได้ในยูทิลิตี้ date, fmt, kill, ptx, numfmt และ cksum ส่วนการปรับปรุงความเข้ากันได้ที่สำคัญน้อยกว่าพบได้ในยูทิลิตี้ cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor และ wc
  • มีการให้การสนับสนุนสำหรับไลบรารี num-prime ของ Rust ซึ่งใช้สำหรับการทดสอบในยูทิลิตี้ factor
  • เปิดใช้งานการใช้งาน rustc-hash ที่เร็วขึ้นใน ls, du, tsort, shuf, mv และ foldhash ใน sort แล้ว
  • ปรับปรุงการจัดการอักขระ ASCII ในยูทิลิตี้การคลายและขยายข้อมูล ส่งผลให้ความเร็วเพิ่มขึ้น 14% เมื่อใช้การอ่านแบบบัฟเฟอร์
  • การดำเนินการจัดสรรหน่วยความจำในยูทิลิตี้ shuf, split, sort และ du ได้รับการปรับปรุงให้เหมาะสมยิ่งขึ้น ส่งผลให้ du ทำงานเร็วขึ้น 3–6% และ shuf ทำงานเร็วขึ้น 4%
  • การแปลงตัวเลขเป็นสตริงในยูทิลิตี้ nl ได้รับการปรับปรุงให้เร็วขึ้น
  • ขนาดของไฟล์ปฏิบัติการลดลง และการเปิดใช้งานยูทิลิตี้ทดสอบความจริงและเท็จเร็วขึ้น
  • โปรแกรมยูทิลิตี้มากกว่า 20 รายการ รวมถึง echo, date, sort, expr, hostname, id, comm, pr และ dircolors ได้รับการแก้ไขให้หยุดทำงานเมื่อไม่สามารถเขียนไปยัง stderr (ซึ่งถูกเปลี่ยนเส้นทางไปยัง /dev/full)
  • ใน umask, mkdirat, mknod และยูทิลิตี้อื่นๆ การเรียกใช้ไลบรารี libc ที่ไม่ปลอดภัยได้ถูกแทนที่ด้วยการเชื่อมต่อที่ปลอดภัยจากแพ็กเกจ crate nix แล้ว
  • ตัวเลือก "--preserve-root" ในยูทิลิตี้ "rm" ตอนนี้ใช้งานได้อย่างถูกต้องแล้วเมื่อระบุลิงก์สัญลักษณ์
  • ปรับปรุงการรองรับแพลตฟอร์ม NetBSD, Windows และ NixOS ปรับปรุงการสร้างสำหรับสถาปัตยกรรม PowerPC
  • เพิ่มขีดความสามารถ แก้ไขปัญหา และเพิ่มตัวเลือกที่ขาดหายไปสำหรับยูทิลิตี้ต่อไปนี้: cat, cksum, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, expand, expr, factor, false, fmt, fold, hostname, id, install, kill, ln, ls, mktemp, mknod, mv, nl, nproc, numfmt, od, paste, pr, printfm, ptx, readlink, rm, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, test, tr, true, tsort, unexpand, uniq, uptime, vdir, wc, whoami.
  • ที่มา: opennet.ru

เพิ่มความคิดเห็น