| 1.2, Аноним (2), 10:02, 03/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– | |
>Проведена оптимизация производительности утилит base32, base64, basenc и df.
Посмотрел код. Хочешь оптимизаций добавляй unsafe. Чудес не бывает.
| | |
| |
| 2.4, Аноним (4), 10:10, 03/02/2026 [^] [^^] [^^^] [ответить]
| +4 +/– |
Не обязательно. Много где SWAR хватает.
Там много вот такого
/// 'geteuid()' returns the effective user ID of the calling process.
pub fn geteuid() -> uid_t {
unsafe { libc::geteuid() }
}
Оно и понятно, зачем: на границе libc многие коноплятора заканчиваются.
| | |
| |
| 3.6, Аноним (4), 10:20, 03/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
Самофикс: без libc можно обойтись раскладкой аргументом по регистрах и вызовом syscall в asm!-блоке. Закат солнца вручную, да, но оно везде так.
| | |
| |
| 4.14, Аноним (-), 11:01, 03/02/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
> раскладкой аргументом по регистрах и вызовом syscall в asm!-блоке
> в asm!-блоке
Который точно также будет unsafe и ты поменяешь шило на мыло.
Какой смысл?
| | |
| |
| 5.17, warlock66613 (ok), 11:20, 03/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Который точно также будет unsafe
Он не точно так же unsafe. В большинстве мест в Rust unsafe нужен в тех местах, где код может стать unsound если программист не проследит. Но ассемблерные вставки всегда sound. Так что unsafe в этом случае имеет иной смысл и просто синоним "я не боюсь".
| | |
|
|
|
| 2.11, Аноним (11), 10:57, 03/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> Хочешь оптимизаций добавляй unsafe. Чудес не бывает
unsafe никак не связан с оптимизациями. Он лишь отключает запрет на доступ к нескольким небезопасным возможностям (типа разыменовантя сырых указателей) во время компиляции.
| | |
| |
| 3.26, Феникс123 (?), 11:34, 03/02/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
Что позволяет применять оптимизации которые иначе компилятор не допускает т.к. не может просчитать их безопасность.
Я это тоже заметил в расте, если код у тебя safe то постоянно добавляются накладные расходы, т.к. компилятор много чего просчитать не может.
| | |
| |
| 4.34, Аноним (34), 12:22, 03/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> если код у тебя safe то постоянно добавляются накладные расходы
А пример привести сможете?
Напр. на godbolt с асм выхлопом.
| | |
| 4.36, Аноним (11), 12:24, 03/02/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Я это тоже заметил в расте, если код у тебя safe то постоянно добавляются накладные расходы, т.к. компилятор много чего просчитать не может.
Safe сам по себе не добавляет накладных расходов, которые unsafe сам по себе магически убирает. Если ты САМ пишешь оптимизацию ручками, то да: ее может понадобиться частично или полностью зюобернуть в unsafe. Но само по себе наличие unsafe не дает каких-то моагических возможностей компилятору для автоматических оптимизаций.
| | |
|
|
| |
| 3.15, Аноним (15), 11:11, 03/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Вот pull request этой оптимизации, и unsafe в коде даже не упоминается:
Зато он получил три плюсика и одобрение у всех ему поверившим.
И заодно набросил про невозможность оптимизаций без unsafe.
Молодец!
| | |
|
|
| 1.3, Аноним (4), 10:05, 03/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
С такой скоростью разработки к поздней весне достигнут полного паритета по проходжению тестового набора.
| | |
| |
| |
| 3.30, Аноним (-), 11:54, 03/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> К тому времени Убунта 26.04 появится
Будем надеяться что они всё успеют и утилиты будут поставляться с LTS версией.
Может еще sudo-rs затянут.
| | |
|
|
| 1.8, Маяковский (?), 10:34, 03/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +11 +/– |
где C++, там каждый байт — граната.
где Rust, там каждая строка — петля.
Один рванёт — и нету результата.
Другой удавит, подло, втихаря.
| | |
| 1.16, Аноним (35), 11:17, 03/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +9 +/– | |
> В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL.
Настоящая причина создания этого проекта.
| | |
| |
| 2.24, Аноним (24), 11:33, 03/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> Настоящая причина создания этого проекта.
Так отлична же причина!
Линукс начал очищаться от запретительной GPLv3 в пользу свободных лицензий.
Как тут не порадоваться))
А заодно со временем избавится от гнутых версий util-linux, diffutils, findutils, procps, acl, sed и login. Плюс заменит древнюю дыряху на нормальный язык.
Шикарно же! Тот линукс, о котором мечтают все адекватные люди.
| | |
| |
| |
| 4.29, Аноним (29), 11:49, 03/02/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> как только они осознали, что это фактически бесплатная рабочая сила
Так и есть. Они же не немамонты какие-то чтобы игнорировать такую халяву.
А вот почему эта рабочая сила бесплатная нужно задавать вопросы бороде и его прихлебателям.
Не зря же он писал в своем манифесте "ну будут программисты получать меньше, и чо?"
> opensource.guide
Первый раз вижу этот сайт.
Вы бы хотя бы какое-то Open Source Initiative привели в пример, а не вообще непонятно что.
А с другой стороны - гитхаб бесплатно предоставил ресурсы и возможности для сотен тысяч открытых проектов. Даже к тем, о которых МС даже не знает.
Не сказать им спасибо - быть крайне неблагодарной мра.. ну вы поняли.
| | |
| |
| 5.31, Аноним (35), 11:58, 03/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Open Source Initiative
Они больше по юридической части.
opensource.guide - что-то вроде "почему вам стоит заниматься open-source" ака работать за бесплатно - т.е. фокус на обычных людей.
| | |
|
|
|
|
| 1.23, Фонтимос (?), 11:29, 03/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– | |
> Достигнут уровень совместимости ... 96.28% (было 87.75%)
ага, про date тоже писали, что все пучком, а оказалось не фига, половину опций тупо заглушками реализовали...
| | |
| |
| 2.28, Аноним (29), 11:44, 03/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> ага, про date тоже писали, что все пучком
Так с date и было "было пучком" на момент написания что "всё пучком".
А почему убунтоводы взяли версию месчной давности - вопрос к убунтоидам.
Ну и нужно понимать что это за цифры. Это успешность прохождения тестового набора GNU Coreutils. Если что-то тестом не покрыто, то отличие в имплементации будет даже при 100% прохождении тестов.
| | |
|
| 1.39, Анонимомус (?), 12:27, 03/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
После перехода с GNU Coreutils на Rust Coreutils правильно будет называть систему Rust/Linux?
| | |
| 1.47, Аноним (47), 12:41, 03/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
>удалён код, в котором использовалось ключевое слово "unsafe".
А зачем тогда было добавлять в _НОВЫЙ_ код, который пишется _С НУЛЯ_ этот unsafe. Если надо было сделать быстрее, то смысл проекта утрачивается. Если изначально люди делали которые без unsafe не осилили...а зачем тогда вообще брались ?
| | |
| |
| 2.50, Аноним (50), 12:47, 03/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> А зачем тогда было добавлять в _НОВЫЙ_ код, который пишется _С НУЛЯ_ этот unsafe.
Потому что не все можно сделать без unsafe. Это понимают все, кто пишет на раст.
Если в лоб переписывали кода с бсд утилити, то там без unsafe скорее всего никак, потому что на дыряхе. А чтобы от него избавиться, нужно напр. менять структуры данных и/или взаимодействие объектов.
> Если изначально люди делали которые без unsafe не осилили...а зачем тогда вообще брались
Могли придти другие люди, которые смогли.
Могли эти обучиться и смочь самостоятельно.
Важен же только результат - в коде нет unsafe.
| | |
|
|