The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU Coreutils с 87% до 96%"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU Coreutils с 87% до 96%"  +/
Сообщение от opennews (??), 03-Фев-26, 10:01 
Опубликован выпуск проекта uutils coreutils 0.6.0 (Rust Coreutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, среди прочего способной работать на платформах Windows, Redox и Fuchsia...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=64730

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +3 +/
Сообщение от Аноним (2), 03-Фев-26, 10:02 
>Проведена оптимизация производительности утилит base32, base64, basenc и df.

Посмотрел код. Хочешь оптимизаций добавляй unsafe. Чудес не бывает.

Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +2 +/
Сообщение от Аноним (4), 03-Фев-26, 10:10 
Не обязательно. Много где SWAR хватает.
Там много вот такого

/// `geteuid()` returns the effective user ID of the calling process.
pub fn geteuid() -> uid_t {
    unsafe { libc::geteuid() }
}

Оно и понятно, зачем: на границе libc многие коноплятора заканчиваются.

Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (4), 03-Фев-26, 10:20 
Самофикс: без libc можно обойтись раскладкой аргументом по регистрах и вызовом syscall в asm!-блоке. Закат солнца вручную, да, но оно везде так.
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +1 +/
Сообщение от Аноним (-), 03-Фев-26, 11:01 
> раскладкой аргументом по регистрах и вызовом syscall в asm!-блоке
> в asm!-блоке

Который точно также будет unsafe и ты поменяешь шило на мыло.
Какой смысл?

Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от warlock66613email (ok), 03-Фев-26, 11:20 
> Который точно также будет unsafe

Он не точно так же unsafe. В большинстве мест в Rust unsafe нужен в тех местах, где код может стать unsound если программист не проследит. Но ассемблерные вставки всегда sound. Так что unsafe в этом случае имеет иной смысл и просто синоним "я не боюсь".

Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (9), 03-Фев-26, 10:36 
Вы специально так криво форматируете?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

10. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +1 +/
Сообщение от Аноним (4), 03-Фев-26, 10:52 
Я случайно форматирование.
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +1 +/
Сообщение от Аноним (11), 03-Фев-26, 10:57 
> Хочешь оптимизаций добавляй unsafe. Чудес не бывает

unsafe никак не связан с оптимизациями. Он лишь отключает запрет на доступ к нескольким небезопасным возможностям (типа разыменовантя сырых указателей) во время компиляции.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

26. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Феникс123 (?), 03-Фев-26, 11:34 
Что позволяет применять оптимизации которые иначе компилятор не допускает т.к. не может просчитать их безопасность.

Я это тоже заметил в расте, если код у тебя safe то постоянно добавляются накладные расходы, т.к. компилятор много чего просчитать не может.

Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +1 +/
Сообщение от Аноним (11), 03-Фев-26, 11:01 
>>Проведена оптимизация производительности утилит base32, base64, basenc и df.
> Посмотрел код. Хочешь оптимизаций добавляй unsafe

Ты куда-то не туда смотрел. 😄 Вот pull request этой оптимизации, и unsafe в коде даже не упоминается:

https://github.com/uutils/coreutils/pull/9632/changes

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

15. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (15), 03-Фев-26, 11:11 
> Вот pull request этой оптимизации, и unsafe в коде даже не упоминается:

Зато он получил три плюсика и одобрение у всех ему поверившим.
И заодно набросил про невозможность оптимизаций без unsafe.
Молодец!

Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (2), 03-Фев-26, 11:26 
Смотреть сюда где +

https://github.com/uutils/coreutils/commit/3c2f35837296bd4b3...

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

22. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (2), 03-Фев-26, 11:27 
Строка 561
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (4), 03-Фев-26, 10:05 
С такой скоростью разработки к поздней весне достигнут полного паритета по проходжению тестового набора.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от ebassi (?), 03-Фев-26, 10:18 
К тому времени Убунта 26.04 появится
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +9 +/
Сообщение от Маяковский (?), 03-Фев-26, 10:34 
где C++, там каждый байт — граната.
где Rust, там каждая строка — петля.
Один рванёт — и нету результата.
Другой удавит, подло, втихаря.
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +3 +/
Сообщение от Аноним (16), 03-Фев-26, 11:17 
> В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL.

Настоящая причина создания этого проекта.

Ответить | Правка | Наверх | Cообщить модератору

19. Скрыто модератором  –1 +/
Сообщение от mos87 (ok), 03-Фев-26, 11:24 
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +1 +/
Сообщение от Аноним (24), 03-Фев-26, 11:33 
> Настоящая причина создания этого проекта.

Так отлична же причина!
Линукс начал очищаться от запретительной GPLv3 в пользу свободных лицензий.
Как тут не порадоваться))

А заодно со временем избавится от гнутых версий util-linux, diffutils, findutils, procps, acl, sed и login. Плюс заменит древнюю дыряху на нормальный язык.
Шикарно же! Тот линукс, о котором мечтают все адекватные люди.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

27. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (16), 03-Фев-26, 11:42 
Вместо бессмысленных споров о свободе хотела бы заметить, что корпорации стали "любить Open Source" как только они осознали, что это фактически бесплатная рабочая сила.
См. также https://opensource.guide/starting-a-project/ и https://opensource.guide/how-to-contribute/ - инструкции, созданные GitHub (в подвале сайта) - т.е. Microsoft.
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Фонтимос (?), 03-Фев-26, 11:29 
> Достигнут уровень совместимости ... 96.28% (было 87.75%)

ага, про date тоже писали, что все пучком, а оказалось не фига, половину опций тупо заглушками реализовали...

Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU ..."  +/
Сообщение от Аноним (28), 03-Фев-26, 11:44 
> ага, про date тоже писали, что все пучком

Так с date и было "было пучком" на момент написания что "всё пучком".
А почему убунтоводы взяли версию месчной давности - вопрос к убунтоидам.

Ну и нужно понимать что это за цифры. Это успешность прохождения тестового набора GNU Coreutils. Если что-то тестом не покрыто, то отличие в имплементации будет даже при 100% прохождении тестов.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру