ΠΠ±ΡΠ°Π²Π΅Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ posixutils-rs 0.2.1, ΡΠΈΡΠ° ΡΠ΅Π» Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Rust ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° Π½Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈ Π²ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΎΡ POSIX ΠΈ Π΄Π° ΡΠ΅ Π·Π°Π΄ΠΎΠ²ΠΎΠ»Π°Ρ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ° (cp, mv, awk, make, vi, find, ΡΠΎΡΡΠΈΡΠ°ΡΠ΅, wc, xargs, sh, m4, sed, ΠΈΡΠ½.). ΠΠ° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ, ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΊΠΎΠ³Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° Π³Π°ΡΠ±Π°. ΠΠΎΠ΄ΠΎΡ posixutils-rs ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° MIT.
ΠΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ ΠΏΡΠ²Π΅Π½ΡΡΠ²Π΅Π½ΠΎ Π½Π° ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΎΡΡ ΡΠΎ Π±Π°ΡΠ°ΡΠ°ΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° POSIX.2024 ΠΈ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠΎ GNU Π°Π»Π°ΡΠΊΠΈΡΠ΅, ΡΠΈΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΎΠ΄ Π°Π²ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠΌΠ΅ΡΠ° Π·Π° Π½Π΅ΡΠ°Π·ΡΠΌΠ½ΠΎ Π½Π°Π΄ΡΠ΅Π½Π°. Π‘Π΅ΠΏΠ°ΠΊ, posixutils-rs ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π½Π°ΡΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈΡΠ΅ Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈ GNU utility ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π½Π°ΠΎΡΠ°Π°Ρ Π²ΠΎ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΈ.
Π Π°Π·Π»ΠΈΠΊΠΈΡΠ΅ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ uutils, ΠΊΠΎΡ ΡΠ° ΡΠ°Π·Π²ΠΈΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° GNU Coreutils Π²ΠΎ Rust, Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ ΠΏΠΎΡΠΈΡΠΎΠΊ ΠΎΠΏΡΠ΅Π³ Π½Π° Π°Π»Π°ΡΠΊΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ, ΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΡΠΎ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° ΡΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ POSIX ΠΊΠ°ΠΊΠΎ vi, awk, bc, m4, cron ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ c99, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠΊΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ , ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ ΡΠ΅Ρ Π½Π° ΠΎΠΏΡΠΈΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° POSIX ΠΈΠ»ΠΈ Π±Π΅Π· ΠΊΠΎΠΈ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π²ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ posixutils-rs ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΡΠ΅ ΠΈΡΠΏΠΎΡΠ°ΡΡΠ²Π°Π°Ρ ΠΊΠ°ΠΊΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΠ΅Π½ ΠΊΠΎΠ΄ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ.
ΠΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², 55 ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΠ°Π·Π²ΠΈΠ΅Π½ΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΡΠ΅ ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈ ΡΠΎ POSIX ΠΈ ΡΠ΅ Π²ΠΎ ΡΠ°Π·Π° Π½Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠΊΡΠΈΠ΅Π½ΠΎΡΡ, 22 ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ (Π½ΠΎ ΠΏΠΎΠΊΡΠΈΠ΅Π½ΠΎΡΡΠ° ΡΠΎ ΡΠ΅ΡΡ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π°), 20 ΡΠ΅ Π²ΠΎ ΡΠ°Π·Π° Π½Π° Π½Π°ΡΡΡ, Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° 44 ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π΅ Π΅ ΡΡΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°. ΠΠ΅ΡΡ Π°Π»Π°ΡΠΊΠΈΡΠ΅ ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ: awk, basename, bc, cp, cut, chown, date, diff, file, find, grep, ls, nice, ps, sort, strings, tail, tr, tty, wc, uniq. ΠΠ΅ΡΡ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠ° Π½Π΅ Π΅ Π·Π°ΠΏΠΎΡΠ½Π°ΡΠ°: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, locale, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi .
ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Π°Π»Π°ΡΠΊΠΈΡΠ΅ awk, m4, ps, realpath, join, time, fuser ΠΈ gencat, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΠΎΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° musl C ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ftw Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° Π΄ΡΠΆΠ°Π²Π½ΠΎ Π·Π°ΡΡΠΈΡΠ΅Π½Π° ΡΡΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΌΠΈΠ½ΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΡΠ²ΠΎΡΠΎ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠ° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠ΅ Π½Π°ΡΠ°Π²Π°ΡΠ° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ rav1d, ΠΊΠΎΡ ΡΠ°Π·Π²ΠΈΠ²Π° Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ ΡΠΎ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΎΡ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ AV1, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Rust. Π Π°Π·Π²ΠΎΡΠΎΡ ΡΠ΅ Π²ΡΡΠΈ ΡΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π½Π° Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠΎΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d, ΠΊΠΎΡ ΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠ° ΡΠΎ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ, Π²ΠΎ Rust. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π°ΡΠ° ΠΏΠΎΡΡΠ° Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½Π° ΡΠΎ API Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dav1d. ΠΠ·Π±ΠΎΡΠΎΡ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΠΏΠΈΡΡΠ²Π° Π½Π°ΡΠ°ΡΠ° ΡΠΎΠΏΡΡΠ²Π΅Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ²Π° ΡΠΎ ΠΆΠ΅Π»Π±Π°ΡΠ° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²Π΅ΡΠ΅ Π΄ΠΎΠΊΠ°ΠΆΠ°Π½ ΠΈ ΡΠ΅ΡΡΠΈΡΠ°Π½ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ ΠΊΠ°ΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΡΠΎ ΡΠ΅Π» Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΠΌΠΎΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° ΠΈ Π΄Π° ΡΠ΅ Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠΈΡΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΡ AV1.
ΠΠΎ ΡΠ΅Π³Π°ΡΠ½Π°ΡΠ° ΡΠΎΡΠΌΠ°, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° rav1d Π΅ 6% Π·Π°Π΄ dav1d Π²ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, Π½ΠΎ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°, ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ, ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΏΠ°ΡΠΈΡΠ΅Ρ Π²ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ, ΠΊΠΎΡΠΈΡΡΠ΅Π½ Π΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π²ΠΎ ΠΊΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ Π²ΠΎ Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π½Π΅Π±Π΅Π·Π±Π΅Π΄Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ (ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠΎΠ΄ Π·Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΠΎΠ΄ dav1d), ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΠΈ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ ΠΏΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎ ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΡΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ Rust (ΠΌΠΈΠ½Π°ΡΠΎΡΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ Π²ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠΈ Π²ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π³Π»Π°Π²Π½ΠΎ ΡΠ΅ ΡΠ°Π²ΡΠ²Π°Π°Ρ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ°Ρ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ, Π½Π°ΠΌΠ΅ΡΡΠΎ Π²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ).
ΠΠ·Π²ΠΎΡ: opennet.ru
