Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 865
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 45 раз
Поблагодарили: 24 раза

Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust

Сообщение root:# »

Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust
Опубликован выпуск проекта uutils coreutils 0.3.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, а также программ sed и login.
В новой версии Rust Coreutils:
  • Значительно повышена производительность некоторых утилит, например, по сравнению с GNU Coreutils утилита sort теперь быстрее в 3.72 раза при обычной сортировке и в 1.46 раз при сортировке чисел, base64 быстрее в 1.2 раза, expand в 1.8 раз, unexpand - в 1.5 раз, nl - в 1.57 раз, fold - в 1.19 раз, "uniq -c" в 1.13 раз. На базе инструментария CodSpeed создана инфраструктура для отслеживания производительности. В системе непрерывной интеграции обеспечено выявление регрессий в производительности. Добавлены тесты производительности для 15 утилит, среди которых sort, ls, uniq, du и base64. Для утилит rm, du, chmod и chgrp реализована безопасная работа с относительными путями директорий, основанная на использовании функций openat и unlinkat. Повышена безопасность за счёт использования crate-пакета nix вместо unsafe-вызовов libc. Улучшена обработка ошибок и приближена к GNU Coreutils обработка ошибок во многих утилитах. Улучшена совместимость с Coreutils при работе с файловыми путями, содержащими и не содержащими UTF8-символы. Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 532 тестов (в прошлой версии 538), 68 (52) тестов завершилось неудачей, а 33 (27) теста было пропущено. Заявлен уровень совместимости 83.91% (было 87.06%). Снижение уровня совместимости объясняется добавлением в тестовый набор 16 новых тестов. В утилите date реализована опция "--reference=file" для показа времени модификации файла. Из-за отсутствия данной опции в Ubuntu перестал работать скрипт автоматической проверки наличия обновлений. В date также консолидирована логика парсинга времени, улучшена совместимость в GNU date в реализации опции "-d" и добавлен флаг "--resolution" для вывода данных о точности учёта времени. Реализованы опции: "basenc --base58", "id -a", "ls -f", "pinky --lookup", "realpath -E", "rm --progress". Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит base64, basenc, chgrp, chmod, cksum, cp, csplit, date, df, dirname, du, expand, expr, fold, hashsum, hostname, id, install, ln, ls, mv, nl, nohup, numfmt, od, pinky, ptx, realpath, rm, seq, sort, stat, stdbuf, stty, tail, timeout, touch, tsort, unexpand, uniq, uname, wc, who, uucore.

Источник: https://www.opennet.ru/opennews/art.shtml?num=64114