The OpenNET Project / Index page

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



"Код поддержки кодека VP9 в V4L2 для чипов Hantro и Rockchip переписан на Rust"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Код поддержки кодека VP9 в V4L2 для чипов Hantro и Rockchip переписан на Rust"  +/
Сообщение от opennews (?), 28-Фев-24, 12:48 
Дэниел Алмейда (Daniel Almeida), занимающийся развитием видеокодеков в компании Collabora, представил для обсуждения разработчиками ядра Linux новую реализацию прослойки для использования аппаратных декодировщиков видео в формате VP9 в подсистеме V4L2, применяемой для организации доступа устройствам видеозахвата, таким как web-камеры и TV-тюнеры. Код прослойки полностью переписан на языке Rust и ориентирован на работу с драйверами rkvdec и hantro, предоставляющими доступ к аппаратным средствам ускорения декодирования видео, доступным в чипах Rockchip и Hantro...

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

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

Оглавление

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

1. Сообщение от Витюшка (?), 28-Фев-24, 12:48   +1 +/
В общем направление развития понятно. Я все свои новые pet проекты буду писать на Rust. С Zig тоже перепишу.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #3, #68

2. Сообщение от Аноним (-), 28-Фев-24, 12:53   +3 +/
А как же невозможность написать на Раст код, который изменяет память с разных потоков одновременно?
Помню ты мне рассказывал, что это не просто важно, а жизненно необходимо!
И что раст без такой функции вообще плохой язык.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #18, #78

3. Сообщение от Аноним (3), 28-Фев-24, 12:54   +2 +/
На питон перепиши, не ошибёшься.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #17

4. Сообщение от Аноним (-), 28-Фев-24, 12:57   +6 +/
Всего один unsafe на 2к строк кода.
И тот в fn v4l2_vp9_seg_feat_enabled_rs, который нельзя сделать без него, потому что это FFI extern "C".
Неплохо, неплохо.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

5. Сообщение от Серб (ok), 28-Фев-24, 13:16   +1 +/
При добавлении rust в ядро говорили, что будут его использовать, в том случае, если даст какое-либо преимущество.

Новая реализация дала преимущество?

Сколько раз встречается на 2000 строк слово unsafe,

PS:

Хотя сам отвечу. 1.
Хороший пример.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8, #24, #88, #99

6. Сообщение от Аноним (6), 28-Фев-24, 13:18   +/
Раст уже настолько крут что может тягаться с ассемблером?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #25

8. Сообщение от Аноним (-), 28-Фев-24, 13:21   –2 +/
> Новая реализация дала преимущество?

Да, там стало меньше потенциальных дыр в ответственном компоненте.

> Сколько раз встречается на 2000 строк слово unsafe

Один раз. В функции v4l2_vp9_seg_feat_enabled_rs (https://gitlab.collabora.com/dwlsalmeida/for-upstream/-/comm...)

Еще вопросы?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #11, #28

9. Сообщение от Аноним (9), 28-Фев-24, 13:25   +/
Зачем там ассемблер?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

10. Сообщение от Аноним (-), 28-Фев-24, 13:26   +2 +/
>  потому что это FFI extern "C"

Уточню, там unsafe не именно из-за FFI.
А потому что извне приходит feature_enabled, которая с точки зрения раста "неизвестно что и никаких гарантий на нее нет".
Поэтому вызов from_raw_parts_mut должен быть обернут в unsafe.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #67

11. Сообщение от Серб (ok), 28-Фев-24, 13:27   +8 +/
> Да, там стало меньше потенциальных дыр в ответственном компоненте.

В 800 строках изолированного кода?

1200 строк - там данные забитые в исходники.

Как пример - хороший вариант. Показать преимущества - не получилось.

> Один раз.

Это я уже нашел.

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

12. Сообщение от name (??), 28-Фев-24, 13:30   +3 +/
Переписали бы сломанный драйвер для амлоджиков, эти и так хорошо работали.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13

13. Сообщение от Аноним (-), 28-Фев-24, 13:33   +1 +/
>  Переписали бы сломанный драйвер для амлоджиков, эти и так хорошо работали.

А как ты перепишешь то что уже сломано?
Его вначале исправить нужно, а потом переписывать.
Если там ошибки в логике обработки, то раст тебе не поможет - ты их точно также повторишь и на нем.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #14

14. Сообщение от name (??), 28-Фев-24, 13:37   +8 +/
Считаешь, они могут только повторять...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #21

16. Сообщение от Шарп (ok), 28-Фев-24, 13:38   +4 +/
А что-нибудь новое на расте пишут или только переписывают уже работающее?

Так же хочу спросить у специалистов по поводу API. Раст умеет в ядре экспортировать свой API или только через сишные обёртки и соответственно через обмазывание unsafe?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19, #65, #73, #97

17. Сообщение от Аноним (17), 28-Фев-24, 13:38   +4 +/
Или на джаваскрипт. Всё летать будет, отвечаю.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #93

18. Сообщение от Вирт (?), 28-Фев-24, 13:48   +2 +/
>  А как же невозможность написать на Раст код, который изменяет память с разных потоков одновременно?

Вообще-то можно. Можно например создать тип `MyPtr` как обертку для указателя,
объявить что для этого типа реализован "Send", и можно будет
копировать указатель и разъименовывать в разных потоках,
но это конечно потребует использования "unsafe".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #71

19. Сообщение от Аноним (-), 28-Фев-24, 13:54   +1 +/
> А что-нибудь новое на расте пишут или только переписывают уже работающее?

Можешь пройтись по тегу, куча новых проектов пишутся.
из того что запомнилось мне
- ядро Maestro частично совместимое с Linux (www.opennet.ru/opennews/art.shtml?num=60391)
- Open Se Cura (www.opennet.ru/opennews/art.shtml?num=60071)
- Hickory DNS (www.opennet.ru/opennews/art.shtml?num=59883)
- Вирусы-червячки (www.opennet.ru/opennews/art.shtml?num=59473)
- криптолиба от амазона (www.opennet.ru/opennews/art.shtml?num=59004)

Думаю сюда можно добавить и вариант ТОРа - тк его переписывает та же команда что и оригинал.

Но подход "давайте перепишем" с моей точки зрения более правильный.
У тебя уже есть готовый проект. Ты можешь использовать из него тесты, юзерфлоу, сравнивать/проверять корректность логики.
И заодно получить команду которая хорошо разбирается в новом языке.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #29

21. Сообщение от Аноним (-), 28-Фев-24, 13:59   +/
Считаю что "они хотят повторять")
Если у тебя есть глючный инструмент, то логично сначала попробовать починиить или переделать его.
В случае с/с++ починить равноценно переделать)
Вот они и исправляют сначала то что им важно в данный момент. Заодно навыки растописания улучшают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #40

22. Сообщение от Аноним (22), 28-Фев-24, 14:09   +/
>Rockchip и Hantro

Так это для ARM SoC. Там пусть экспериментируют.

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

24. Сообщение от Аноним (24), 28-Фев-24, 14:14    Скрыто ботом-модератором+2 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #41

25. Сообщение от нах. (?), 28-Фев-24, 14:22   –2 +/
В переписывании указателей на структуры - c ассемблером мог бы потягаться gwbasic.
А больше ничего эта аж двухтысячестрочная прослойка к прокладке ничего и не делает, декодер - в железе.

Нишка хруста вполне определилась.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #39

26. Сообщение от Аноним (28), 28-Фев-24, 14:50   +4 +/
Новость написана так, будто на расте написали декодер vp9. Хитро, хитро.

На самом деле никакого декодера там в помине нет - обычный разбор уже готовых битовых полей, ничем не отличающийся, например, от разбора сетевых фреймов.

Не вижу ни одного преимущества, кроме синтаксического замусоривания красивого С-подобного кода с целью усложнить чтение кода.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27, #37, #38, #46

27. Сообщение от Аноним (9), 28-Фев-24, 14:56   +1 +/
Новость совершенно нормально написана. Ну если дальше заголовка читать, конечно. Хотя и он в заблуждение не вводит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

28. Сообщение от Аноним (28), 28-Фев-24, 15:04   +/
какие дыры могут быть в разборе фреймов от железного декодера?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #33

29. Сообщение от Аноним (28), 28-Фев-24, 15:06   +2 +/
Подход "давайте перепишем" - самый плохой из всех возможных и единственным оправданием для него может являться только "оно вообще не справляется с поставленной задачей, а исправить возможностей нет".

Это азы программирования.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #32, #35

32. Сообщение от Аноним (-), 28-Фев-24, 15:23   +1 +/
>  "оно вообще не справляется с поставленной задачей, а исправить возможностей нет".

Именно так.
Постоянные проблемы с памятью, одинаковые уже десятки лет - use-after-free, double-free и out-of-bounds.
И да, исправить возможности нет - тк исправить окаменевшие мозги сишников это не реально.

А переписывание на новый ЯП - это полность изменение кода.
По хорошему остается только логика и то ее тоже можно улучшить с учетом возможностей языка.
Например выкинуть уродливые контрукции типа "нам достаточно и UINT, но будем использовать знаковый тип, чтобы отрицательными значениями пробрасывать ошибки ."

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

33. Сообщение от Аноним (-), 28-Фев-24, 15:24   –1 +/
> какие дыры могут быть в разборе фреймов от железного декодера?

О, не нужно недооценивать сишников!
Как будто есть мало месть где можно выйти за пределы буфера или записать не туда.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #101

35. Сообщение от Аноним (-), 28-Фев-24, 15:27   +2 +/
> самый плохой из всех возможных

Это прекрасный вариант. Он позволяет заменять код частями, прогоняя тесты и отслеживая регрессии.

Автор так и пишет:
f) run the test suite (fluster.py run -d GStreamer-VP9-V4L2SL-Gst1.0 -ts VP9-TEST-VECTORS)
g) results should be the same both with and without this patch

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #59

37. Сообщение от Аноним (-), 28-Фев-24, 15:29   +3 +/
Ты не в состоянии понять заголовок "Код ПОДДЕРЖКИ кодека VP9"?
Потом про декодер ты придумываешь сам...
А потом идешь громко возмущаться в комменты!

Может вначале стоит научиться читать? И желательно глазами.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #104

38. Сообщение от нах. (?), 28-Фев-24, 15:38   +/
> На самом деле никакого декодера там в помине нет - обычный разбор уже готовых битовых полей

дык это и есть то, с чем идеально справляется нескучный йезычок.

Главное не давать ему перекладывать эти поля непосредственно в порты железяки - что в данном случае с блеском и сделано (правда, опять не хрустиками - но они точно выбрали объект приложения усилий)

> Не вижу ни одного преимущества

почему? Он действительно идеален для работы по переписыванию полей структурок. И защищает от механических ошибок. А от боровчекера в двух тысячах строк из которых 2/3 оказывается и вовсе не кодом - вполне можно и убежать.

Стоит ли оно таскания за собой еще одного отдельного громадного сборочного инструментария - ну так себе конечно вопрос.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #89

39. Сообщение от Аноним (-), 28-Фев-24, 15:44   +/
А вот и кекспертное мнение из самых лучших совковых НИИ.
С учетом кучи проектов которые уже используют раст, то пук знатный, но в лужу.
Наверное про видео драйвера ты не слышал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #102

40. Сообщение от An (??), 28-Фев-24, 16:01   +/
Если у тебя есть "глючный" инструмент(на самом деле нет), и ты хочешь его заменить(допустим) - зачем переделывать качественно получившуюся деталь, которая создана с помощью этого инструмента?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #60

41. Сообщение от Аноним (-), 28-Фев-24, 16:12   +1 +/
> но в него обёрнуто половина кода

Растохейтры настолько тупы, что не могут заглянуть в диф и увидеть что там одна строка.
Но еще больще впечатляют д###бы, которые их плюсуют.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #48

44. Сообщение от Анонист (?), 28-Фев-24, 16:31   +3 +/
Представляю насколько сильнее это всё будет тормозить и насколько больше занимать памяти. Реально айтишечка свернула куда-то не туда.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #50, #74, #85

46. Сообщение от Анонист (?), 28-Фев-24, 16:44   +3 +/
> с целью усложнить чтение кода.

Так это же самое главное в современной айтишечке. Предел своих возможностей человечество уже достигло и теперь чтобы собирать бабло пошли по пути искусственного усложнения, преподнося хомячью это как "упрощение" и "улучшение".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #49

48. Сообщение от Аноним (24), 28-Фев-24, 16:59   +/
там пофиг что там в коде, даже заглядывать в эту портянку из спецсимволов не охото
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #62

49. Сообщение от Аноним (-), 28-Фев-24, 17:00   –3 +/
К сожалению предел возможностей люди овстигли еще 30 лет назад, когда писаки на СИ так и не научились не портить память((
Но что самое страшное, им за это не надавали ко корявкам!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

50. Сообщение от Аноним (-), 28-Фев-24, 17:03   –1 +/
Хм... посмотри сравнение С и Раста.
Например benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust.html
И ты увидешь что они идут примерно наровне.
Что говорит о твоих познаниях в теме)

Так что айтишека свернула, а тебя оставила за бортом.

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

56. Сообщение от Аноним (56), 28-Фев-24, 17:08   +/
Теперь рокчип будет еле шевелиться.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #63

59. Сообщение от Аноним (24), 28-Фев-24, 17:23   +/
> отслеживая регрессии

ну какие регрессии в расте, ну? Это ж раст с безопасной работой с памятью

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #86

60. Сообщение от Аноним (-), 28-Фев-24, 17:24   +/
Так плохим инструментом хорошую деталь не сделаешь.
Деталь явно ущербная, вероятность ее поломки слишком большая - можно посмотреть новости про сишные дыры и это станет очевидно.

Тут аналогия неправильная, лучше бы аноним со стройматериалом стравнил.
Можно строить дом из овна и палок.
И так строили в древности и некоторые ценители даже сейчас (саманный кирпич и глинобитные постройки).
Но прогресс не стоит на месте и сейчас строят из более удобных и в строительстве, и в обслуживании материалов.
Так же и с языками программирования.

Каменный век закончился не потому что закончились камни.

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

62. Сообщение от Аноним (-), 28-Фев-24, 17:29   +/
Ну так бы и сказал "длинные слова и спецсимволы расстраивают опилки в моей голове".
И я сразу бы понял - вот он эталонный неосилятор!
Который код не читал, но умный коммент нагадил.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

63. Сообщение от An (??), 28-Фев-24, 17:31   –1 +/
На Linux - да. Зато есть шанс для Free/NetBSD.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #80

64. Сообщение от Аноним (64), 28-Фев-24, 17:33   +2 +/
Видимо, на расте совсем мало пишут, раз про 800 строка кода целую новость делают.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #100

65. Сообщение от Аноним (-), 28-Фев-24, 17:33   +1 +/
> А что-нибудь новое на расте пишут или только переписывают уже работающее?

Zed зарелизили намедни. Но пока только для iOS.

> Раст умеет в ядре экспортировать свой API или только через сишные обёртки и соответственно через обмазывание unsafe?

#[repr(C)] функции имеют C'шный ABI, их можно вызывать из C кода непосредственно.

Но, скорее всего, эти #[repr(C)] функции будут обёртками, чьей задачей будет решить в чём доверять C'шному коду, а в чём нет, посредством приведения типов.

Например, если в функцию передаются указатели, то они будут raw указателями, и rustc не может ничего гарантировать относительно них. Тебе придётся принять решение за rustc и сказать, что валидности этого указателя можно верить, и при помощи unsafe преобразовать его к &-указателю.

Плюс могут быть другие нюансы типа impedance mismatch. Например, rust'овые строки гарантированно валидный utf8, все строковые функции полагаются на это, и могут сегфолтнуть на невалидном utf8. То есть если ты хочешь работать со строкой полученной от C-кода как с &str, тебе придётся проверять на валидность utf8 или просто поверить в валидность и принять без проверки. Ещё с длиной придётся выкручиваться, считать её перед кастом. В ядре, я подозреваю, они используют не &str, а &CStr или что-нибудь своё доморощенное в этом стиле. Но даже в случае доморощенного типа-обёртки придётся принимать решение -- считать ли длину строки перед приведением типа, или работать со строкой в C'шном стиле, не зная её размера.

В общем, на стыке C и Rust придётся какие-то танцы с бубном выполнять, и там неизбежно полезут unsafe'ы, потому что rustc не может ничего предполагать о поведении C'шного кода. И вероятно придётся создавать обёртки, которые будут заниматься исключительно этим -- приведением типов, где-то выполняя дополнительные рантайм проверки, где-то просто волевым решением заявляя расту "этот указатель считать валидным".

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

67. Сообщение от m228chtig (?), 28-Фев-24, 17:39   –2 +/
> с точки зрения раста "неизвестно что и никаких гарантий на нее нет".

Почему эту точку зрения не пофиксят? 🤔😐😏

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #96

68. Сообщение от Аноним (-), 28-Фев-24, 17:45   +/
Ты перепишешь. Нет это промежуточное направление. Хуанг сказал он стремится, чтобы программы писали программы, чтобы любой человек мог создавать программы через компьютер - программисты не нужны с написанием кода. В принципе отчасти так уже и делают берут готовое и стыкуют. А выйдет у них так сделать кто знает? Ответ мне не нужен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #69, #70, #72

69. Сообщение от Аноним (-), 28-Фев-24, 17:49   +1 +/
Как я понял имеется ввиду что-то вроде разновидности GPT для создания готового кода под нужные задачи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

70. Сообщение от Аноним (-), 28-Фев-24, 17:59   +/
Это моё предположение понимание из его слов, там где я его слова сказанные увидел, он сказал одной фразой. Ещё могу предположить, что сложный код смогут создавать через аналог GPT только те у кого будут определённые дорогие мощности, а простое будет доступно в открытом доступе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

71. Сообщение от Аноним (71), 28-Фев-24, 18:17   +1 +/
А еще лучше использовать готовые и проверенные примитивы - Arc/Mutex/Rwlock
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

72. Сообщение от Аноним (-), 28-Фев-24, 18:21   +/
Это всё я. Могу обнадёжить немного, не всё так грустно, не в пустыне живём. Работа будет. Не выйдет устроится писать код так как GPT уже пишет не беда копать лопатой или трактором, вёдра с чем-то носить, канализацию чистить и тому подобное GPT научить делать не возможно. Если только заменить всех водителей всей строительной техники на автоматическое управление - возможно, с комбайнами так уже сделано, где водитель управляет комбайном, а где и сам комбайн программой управляется. КамАЗ тестирует фуры без водителей. В тестовом режиме ездят такие машины. Но! с сантехниками так не выйдет.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #75

73. Сообщение от Аноним (71), 28-Фев-24, 18:24   +2 +/
https://youtu.be/CEznkXjYFb4?t=930
есть один крейт kernel, реализующий подсистемы через unsafe-обертки. весь слой выше - драйверы и прочее используют этот крейт и не имеют unsafe. в этом основной замысел.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

74. Сообщение от Аноним (71), 28-Фев-24, 18:26   –1 +/
Такова плата за сложность
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

75. Сообщение от Аноним (-), 28-Фев-24, 18:41   +3 +/
> Но! с сантехниками так не выйдет.  

Т.е походу ничего ен поменяется?
Опять придется или разгребать овна, или исправлять бракоделие, или делать бракоделие)
Даже фразу "ну прошлый мастер какой-то ужась сделал" менять не придется :-D

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

78. Сообщение от Витюшка (?), 28-Фев-24, 19:17   +1 +/
Нельзя сделать просто, как в Zig. Будем делать "сложно", если понадобится)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

80. Сообщение от Аноним (22), 28-Фев-24, 19:46   +/
О, оказывается, Rust обладает скрытым свойством, работать быстрее в БЗДях!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #81

81. Сообщение от An (??), 28-Фев-24, 19:59   +1 +/
Ага. По причине отсутствия присутствия.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

85. Сообщение от bnm (?), 28-Фев-24, 22:41   +1 +/
Есть статья на хабре, «Ржавая» IP-камера: прошивка на rust
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

86. Сообщение от Аноним (-), 28-Фев-24, 23:00   +1 +/
А как гарантии безопасности памяти тебе помогут при копипасте? или сравнение перепутать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

87. Сообщение от Аноним (87), 29-Фев-24, 03:15   +/
VP9 устарел, мало где поддерживаеться. В отличии от H.264/HEVC/AV1
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #95

88. Сообщение от Sw00p aka Jerom (?), 29-Фев-24, 08:33   +/
>какое-либо преимущество.

"прослойка" должна давать преимущества?

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

89. Сообщение от Sw00p aka Jerom (?), 29-Фев-24, 08:36   +/
>Он действительно идеален для работы по переписыванию полей структурок.

видели недавно, как структуру из двух интов16 заменили на просто инт32, такое он может?

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

91. Сообщение от S22 (?), 29-Фев-24, 10:30   –1 +/
Сейчас в Раст появилось движение снизить гарантии для упрощения написания код.
Учить язык сложно
Ответить | Правка | Наверх | Cообщить модератору

92. Сообщение от Аноним (92), 29-Фев-24, 10:50   +/
https://www.tomshardware.com/software/security-software/whit...

Капец для си-шников... ;)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #94, #106

93. Сообщение от Аноним (93), 29-Фев-24, 11:32   +2 +/
А если с привлечением фреймворка Electron, ваще реактивно будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

94. Сообщение от Аноним (93), 29-Фев-24, 11:38   +1 +/
Ну если NSA предлагает/намекает, то да, точно всё будет безопасТно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

95. Сообщение от Аноним (95), 29-Фев-24, 13:59   +/
VP9 появился позже H.264. Это VP8 не видел, чтоб использовался.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

96. Сообщение от Не аноним я (?), 29-Фев-24, 14:54   +/
Иди и фикси
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

97. Сообщение от Аноним (97), 29-Фев-24, 15:29   +1 +/
> А что-нибудь новое на расте пишут или только переписывают уже работающее?

А что, у тебя есть какие-то распространённые востребованные для решения задачи, под которые еще никто ничего раньше не написал?
А то ты любую задачу, если уже для её решения написали какой-то софт, называешь "переписывают работающее".
Так-то с таким подходом и ядро лулникса, и вэйланд и 100500 DE - это "переписывание уже работающего". И все шутеры после вульфенштайна 3Д (даже дум).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #98, #103

98. Сообщение от Шарп (ok), 29-Фев-24, 16:47   +/
> А что, у тебя есть какие-то распространённые востребованные для решения задачи, под
> которые еще никто ничего раньше не написал?

Если после переписывания функциональность не увеличилась или вообще уменьшилась, то это бесполезное переписывание.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97 Ответы: #107

99. Сообщение от Аноним (99), 29-Фев-24, 17:11   +/
да, один, но эта функция вызывается уже в десяти местах..
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

100. Сообщение от Аноним (100), 29-Фев-24, 23:12   +1 +/
Чуть более года назад в 13-м андроиде было примерно 1.5 млн строк кода на расте. Но тебе ведь всё равно, ты ведь в комменты к новости зашел не за правдой, а сладкого хлебушка поесть и самому набросить на вентилятор.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64 Ответы: #105

101. Сообщение от Аноним (101), 01-Мрт-24, 00:30   –1 +/
Аппеляция к неким теоретически возможным дырам всегда умиляет, не не убеждает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

102. Сообщение от Аноним (101), 01-Мрт-24, 00:34   –1 +/
Но даже у него уровень аргументации выше, чем у тебя - какой-то поток мыслей обиженки на весь мир.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

103. Сообщение от Аноним (101), 01-Мрт-24, 00:40   +/
Но никому в здравом уме не придет в голову переписать Doom 2016 и сделать из него Wolfenstein 3D, но на Расте, чем регулярно и занимаются переписывальщики.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

104. Сообщение от Аноним (101), 01-Мрт-24, 00:42   +/
>И желательно глазами.

А может сам попробуешь для начала? "Поддержка" может означать и реализацию кодека.

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

105. Сообщение от Аноним (101), 01-Мрт-24, 00:47   +/
А сколько на C и C++? Google заявил, что их цель - не переводить существующий код C/C++ на Rust, а скорее направить разработку нового кода на безопасные для памяти языки, не только Rust кстати.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100

106. Сообщение от Аноним (101), 01-Мрт-24, 00:52   +/
Дядя Сэм конечно же плохого не посоветует. Но прошивку для F-35 пишут на C и C++.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

107. Сообщение от Аноним (97), 04-Мрт-24, 12:49   +/
> Если после переписывания функциональность не увеличилась или вообще уменьшилась, то это бесполезное переписывание.

Ооо, теперь я вижу ЦА, которое живёт по плану: не буду ставить этот патч безопасности, ведь новой функциональности не добавилось.
Если пропадёт пачка всяких там выход за границы массива, UB и прочего CVE-генерирования под лозунгом "тут тоже можно безопасТно писать, просто ну не шмогла я, не шмогла" (говоря проше: повысилась безопасность) - то вполне.

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


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

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




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

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