ОбновлСниС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° GNU Coreutils, пСрСписанного Π½Π° языкС Rust

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск инструмСнтария uutils coreutils 0.0.12, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ развиваСтся Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ°ΠΊΠ΅Ρ‚Π° GNU Coreutils, пСрСписанный Π½Π° языкС Rust. Π’ состав coreutils Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π±ΠΎΠ»Π΅Π΅ ста ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ΠΈ ls. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ uutils findutils 0.3.0 с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° языкС Rust ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° GNU Findutils (find, locate, updatedb ΠΈ xargs).

Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ использования языка Rust называСтся ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Coreutils ΠΈ Findutils, ΡΠΏΠΎΡΠΎΠ±Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows, Redox ΠΈ Fuchsia. Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ uutils являСтся распространСниС ΠΏΠΎΠ΄ пСрмиссивной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT, вмСсто ΠΊΠΎΠΏΠΈΠ»Π΅Ρ„Ρ‚-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GPL.

Π’ настоящСС врСмя ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Π° с GNU Coreutils рСализация 88 ΡƒΡ‚ΠΈΠ»ΠΈΡ‚. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² 18 ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ cp, dd, date, df, install, ls, more, sort, split, tail ΠΈ test. НСрСализованной остаётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° stty. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ тСстового Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNU Coreutils ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ 214 тСстов, Π½ΠΎ 313 тСстов Π°Π½Π°Π»ΠΎΠ³ Π½Π° Rust ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚. ΠŸΡ€ΠΈ этом ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ — Π² мСсяц добавляСтся 400-470 ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΎΡ‚ 20-50 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² вмСсто 30-60 ΠΎΡ‚ 3-8 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄.

ОбновлСниС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° GNU Coreutils, пСрСписанного Π½Π° языкС Rust

Из послСдних достиТСний отмСчаСтся оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ — Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ head ΠΈ cut, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ прСвосходят ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈΠ· GNU Coreutils. ΠžΡ…Π²Π°Ρ‚ тСстовым Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ с 55% Π΄ΠΎ 75% ΠΎΡ‚ всСго ΠΊΠΎΠ΄Π° (достаточной Ρ†Π΅Π»ΡŒΡŽ являСтся 80%). ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° для упрощСния сопровоТдСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, Π° Π² chgrp ΠΈ chown ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½ ΠΊΠΎΠ΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ многочислСнныС измСнСния для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ совмСстимости с GNU Coreutils.

Из ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ отмСчаСтся рСализация ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ stty, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ совмСстимости с GNU Coreutils, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ экспСримСнтов ΠΏΠΎ использованию Π² Debian ΠΈ Ubuntu ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ uutils вмСсто GNU Coreutils ΠΈ GNU Findutils (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· основных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² uutils Ρ€Π°Π½Π΅Π΅ занимался ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ сборки Debian GNU/Linux с использованиСм компилятора Clang). Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отмСчаСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π° uutils-coreutils для macOS, экспСримСнты с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ GNU Coreutils Π½Π° uutils coreutils Π² NixOS, Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ uutils coreutils ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² дистрибутивС Apertis ΠΈ адаптация Π½Π°Π±ΠΎΡ€Π° uutils для Redox OS.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ