The OpenNET Project / Index page

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



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

"Разработчики FFmpeg раскритиковали AMD за раздутые патчи"  +/
Сообщение от opennews (??), 30-Янв-26, 13:12 
Разработчики мультимедийного пакета FFmpeg попросили компанию AMD внимательнее относится подготовке  патчей и не отправлять сгенерированные через AI изменения без проведения ручного рецензирования. Недовольство вызвал набор патчей с реализацией возможности использования  AMD HIP SDK (Heterogeneous-compute Interface for Portability) на платформе Windows для ускорения обработки видео на системах с GPU AMD...

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

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

Оглавление

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

1. Сообщение от Аноним (1), 30-Янв-26, 13:12   +64 +/
Вайбкодинг во всей красе, добро пожаловать в новый и прекрасный мир
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #5

2. Сообщение от Аноним (-), 30-Янв-26, 13:17   –8 +/
> Автор патча сообщил, что осознанно добавил инструкцию по использованию pacman,
> написанную им 4 года назад
> Вайбкодинг

Какой вайбкодинг?
4 года назад еще никакого вайбкодинга не было.

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

3. Сообщение от Аноним (3), 30-Янв-26, 13:18    Скрыто ботом-модератором–6 +/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9

4. Сообщение от expert (??), 30-Янв-26, 13:18   +33 +/
> const int EIGHT = 8
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #10, #14, #50, #54, #59, #76, #83, #100, #216

5. Сообщение от Аноним (5), 30-Янв-26, 13:18   +5 +/
И это компания, которая делала хорошие процы...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #45, #51

6. Сообщение от Аноним (6), 30-Янв-26, 13:19   +2 +/
иксперды во всей красе
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

8. Сообщение от kravich (ok), 30-Янв-26, 13:22   +3 +/
А ты взял и поверил оправданиям гогнокодера?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #34

9. Сообщение от kravich (ok), 30-Янв-26, 13:23   +3 +/
А потом к вам в ffmpeg-rs пришлют патч с константой EIGHT, и на опеннете появится новость "Разработчики FFmpeg-rs раскритиковали AMD за раздутые патчи"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

10. Сообщение от КО (?), 30-Янв-26, 13:26   +8 +/
А это все спецы по шаблонному мышлению виноваты. Мол магические константы в коде антипаттерн - выносите определение в именованную константу. Ну чел и вынес. Ну и дал самое логичное имя.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #15, #80, #213

11. Сообщение от Аноним (11), 30-Янв-26, 13:27   +9 +/
К сожалению, полноценный ревью сгенерированного ллм кода лишает смысла использование ллм в целом из-за приближения затрат на ревью без ллм кода, созданного ллм, к затратам на написание кода и ревью без ллм. Поэтому стоит ожидать, что какое-то количество мертвого кода, добавление которого концептуально свойственно всем ai-генераторам, будет пролезать через тесты (особенно с учетом того, что тесты тоже пишут ОНИ).
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19, #22, #82, #88

12. Сообщение от Аноним (12), 30-Янв-26, 13:30   –3 +/
> разработчики, которые не видят отличий между wiki-страницей и сообщением в Git-коммите

Неужели и коммиты ИИ пишет? А EIGHT = 8 это распространенный среди разрабов кретинизм. Бывает ещё EMPTY = "" и всяческие попытки заменить нуль "пустой" при этом типизированной константой.

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

13. Сообщение от Аноним (-), 30-Янв-26, 13:31   –14 +/
Пф, писаки FFmpeg открыли рот чтобы кого-то критиковать?
Чуваки, вы ж не единственные разработчики мультимедийных пакетов.
Или принимайте патчи как удобно настоящим разработчикам, или останетесь вообще без патчей.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #33, #52

14. Сообщение от Аноним (14), 30-Янв-26, 13:32   +/
Никаких магических переменных все ясно и понятно какие вопросы? Надо было const X = 8?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #17

15. Сообщение от Аноним (15), 30-Янв-26, 13:34   +16 +/
Недавно похожий случай был. Один рецензент покритиковал мой код. Ему не понравилось, что счетчики цикла имеют очень короткие и неинформативные, с его точки зрения, имена - i, j, k.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #21, #24, #57, #61, #68, #120

16. Сообщение от Аноним (3), 30-Янв-26, 13:34   –2 +/
Вот вот! И будут писать про свой ассемблер раз в 5 лет как они какой-то никому не нужный древний кодек ЯКОБЫ ускорили в 50 миллиардов раз написав код ассемблер руками.Тем временем более сговорчевые гигачеды-модерн-стайл-разрабы с нормальными софт-скиллами (а не в стиле Линуса-посылателя) будут получать всё больше ПРов и наслаждаться патчами, донатами и заслуженным (!) признанием, пока диды ffmpeg будут яростно скриметь вставными челюстями грозя, что вот ещё 20 патчей ручного ассемблера и вот они как вернуться, да как всех сместят!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

17. Сообщение от КО (?), 30-Янв-26, 13:35   +5 +/
const int TRINITY=8;
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #89

18. Сообщение от Аноним (18), 30-Янв-26, 13:36   +16 +/
В военное время значение EIGHT может достигать 9, а то 10. Надо понимать.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29, #66

19. Сообщение от kravich (ok), 30-Янв-26, 13:36   +5 +/
В общем, ситуация та же, как с ревью кода джуна, когда ревьювер вынужден руками джуна полностью переписать изначальное решение
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #23

20. Сообщение от Аноним (15), 30-Янв-26, 13:37   –4 +/
По-вашему, вместо константы M_PI следует везде в тексте написать 3.1415926536 и т.д.?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #230

21. Сообщение от КО (?), 30-Янв-26, 13:37   +/
И как таких без вайбкодинга обходить?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

22. Сообщение от Аноним (14), 30-Янв-26, 13:39   –10 +/
Слабые разработчики теперь называют любой непонятный код сгенерировапным ИИ и даже не пытаются разобраться. Они не в состоянии понять что const в с++ это переменная которая будет в особом сегменте памяти, а для сверхоптимизации и производительности такое бывает нужно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #26, #64

23. Сообщение от КО (?), 30-Янв-26, 13:39   +5 +/
Ну он так джуна научит. Хотя и так научит писать правильные промпты. Правда, потом окажется, что написать правильный промпт сложнее, чем сразу на целевом яп.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #25

24. Сообщение от nox. (?), 30-Янв-26, 13:39   +7 +/
Конечно, вместо i надо было написать COUNTEROFTHEFIRSTCYCLE. Круто, чо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #28, #42

25. Сообщение от kravich (ok), 30-Янв-26, 13:41   +6 +/
Именно. С джуном эти упражнения имеют смысл, так как джун научится, а с заклинателями ~змей~ LLM-ок из-за отсутствия обратной связи все это бесполезно, и является просто изощренным и извращенным способом переложить работу с сабмиттера на ревьювера
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #31, #38, #49, #90

26. Сообщение от kravich (ok), 30-Янв-26, 13:43   +5 +/
Расказывая такие истории, нужно бы понимать, что сырая константа 8 вообще скорее всего будет константой в машинной инструкции инициализации регистра значением, что не требует отдельной транзакции памяти и потому еще быстрее
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #97, #141

27. Сообщение от КО (?), 30-Янв-26, 13:44   +/
Можа и кретинизм, а на RISC архитектуре это один раз доступная константа, а не каждый раз перепрыгивать константу в коде. Для CISC, что в лоб, что по лбу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

28. Сообщение от User (??), 30-Янв-26, 13:44   +4 +/
Не color, a colour!
В смысле CounterOfTheFirstCycle ну или COUNTER_OF_THE...
Остроконечники с тупоконечниками еще не договорились, приходите пожжа
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #35, #116, #166

29. Сообщение от nox. (?), 30-Янв-26, 13:45   –1 +/
Зря шутите. Недавно разбирал задания по физике для продвинутых детей. В комментариях было указано - для расчетов ускорение свободного падения на Земле g взять равным 10.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #36, #69, #173, #234

30. Сообщение от User (??), 30-Янв-26, 13:46   –1 +/
> Неужели и коммиты ИИ пишет?

Ну вообще да - в выстроенном процессе разработки с саммаризацией он как раз таки хорошо справляется.

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

31. Сообщение от КО (?), 30-Янв-26, 13:50   +/
Не - учит писать промпты.
Просто к промтам надо относиться как к ЯП 4 поколения.
Вот если за промптом потом надо подчищать в целевом ЯП - тогда да мартышкин труд.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #32, #105, #195

32. Сообщение от kravich (ok), 30-Янв-26, 13:53   +1 +/
Ок, возможно.
Но по прежнему сомнительно, что выразительности промптов достаточно для того, чтобы сделать все возможные правки, которые могут потребоваться
В общем, поживем-увидим
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

33. Сообщение от Аноним (33), 30-Янв-26, 13:54   +5 +/
>вы ж не единственные разработчики мультимедийных пакетов

А другие прям рады всё это разгрeбать ?

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

34. Сообщение от Аноним (34), 30-Янв-26, 13:54    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

35. Сообщение от КО (?), 30-Янв-26, 14:04   –1 +/
не то  не другое - у вас стили наименования не подходящие к переменным, могут быть путаницы с константами и классами. :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

36. Сообщение от Аноним (-), 30-Янв-26, 14:06   +5 +/
А что не так?
Если тебе нужно оценить сверху макс скорость которую разовьет белка падая после скольжения по абсолютно ровному столу.....

Если у белки есть шанс, то можно пересчитать с точным значением))

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

37. Сообщение от Аноним (37), 30-Янв-26, 14:14   +/
Считал у ффспег один разраб всего. Если их много,то вполне потянут и будет ффмпег размером с ядро благодаря амуде.
Ответить | Правка | Наверх | Cообщить модератору

38. Сообщение от Аноним (38), 30-Янв-26, 14:16   +/
Для LLM уже придумали костыль - называется memory servers или MCP.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

39. Сообщение от Аноним (39), 30-Янв-26, 14:22   –1 +/
> В частности, в коде имелась константа с именем 8 и значением 8 (const int EIGHT = 8),

Справедливости ради: в моем коде тоже есть подобное. Потому что имя идентификатора не может начинаться с цифры, поэтому 32-bit превращается в THIRTY_TWO_BIT.

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

40. Сообщение от Аноним (-), 30-Янв-26, 14:30   +3 +/
Коммерческие компании всегда разабатывали и разрабатывают низкокачественный код.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #168

41. Сообщение от Аноним (-), 30-Янв-26, 14:32   –2 +/
А ты почему пишешь низкокачественный код? Ты видимо не уважаешь сообщество. Ты какой-то не умный человек, да?!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #73

42. Сообщение от Аноним (42), 30-Янв-26, 14:38   +10 +/
Надо римскими числами: i, ii, iii, iv, v, vi,  ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #56

43. Сообщение от Аноним (-), 30-Янв-26, 14:53   –3 +/
АМД старается как может а эти коты неблагодарные только жалуются!
а может они чемоданы от Невидии получили...
короче все переходим на открытыйLibav
Ответить | Правка | Наверх | Cообщить модератору

44. Сообщение от pofigist (?), 30-Янв-26, 15:13   –4 +/
Результат неприятия LLM в текущих проектах, будут форум этих проектов, которые и получат все гранты.
Ибо без патчей от корпораций типа AMD - они никому не нужны, а корпы - не будут писать эти патчи ручками ибо LLM - дешевле.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #48, #55, #87

45. Сообщение от нах. (?), 30-Янв-26, 15:26   –3 +/
тоже нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

46. Сообщение от нах. (?), 30-Янв-26, 15:27   +5 +/
> Неужели и коммиты ИИ пишет?

с разморозочкой. Тебе у нас - не понравится!

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

47. Сообщение от Анонимомус (?), 30-Янв-26, 15:29   +7 +/
> В ответ представитель FFmpeg извинился за непонимание и сказал, что даже не представлял, что существуют разработчики, которые не видят отличий между wiki-страницей и сообщением в Git-коммите.

Вроде и извинился, а вроде и послал, по делу

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

48. Сообщение от похнапоха (?), 30-Янв-26, 15:30   +1 +/
Дело не в отношении корпорация-открытый проект, а скорее в том, кто от этой копорации вносит вклад. И если к именование констант - это притянутая проблема, то WIKI-страница в сообщении коммита - это показатель уровня контрибьютора. Человек мог бы заподозрить косяк и заявить, что копипастнул сообщение по ошибке, и все исправить, вместо этого он начал такой подход защищать!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

49. Сообщение от kusb (?), 30-Янв-26, 15:30   +/
>змей

Шогготов?

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

50. Сообщение от ХрюХрю (?), 30-Янв-26, 16:05   +12 +/
ничего вы не понимаете!
надо const int BOCEMb = 8;
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #242

51. Сообщение от Аноня (?), 30-Янв-26, 16:06   +1 +/
А что в них плохого сейчас ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #67, #147

52. Сообщение от Аноня (?), 30-Янв-26, 16:07   +1 +/
Настоящие разработчики не пишут код ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #125

53. Сообщение от Аноня (?), 30-Янв-26, 16:09   +1 +/
Ну может чел вообще первый коммит в своей жизни делал. Скажите спасибо что он свою биографию туда не добавил )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #133

54. Сообщение от онанист (?), 30-Янв-26, 16:14   +5 +/
это чтобы в военное время заменить на 14
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

55. Сообщение от Аноним (37), 30-Янв-26, 16:17   +/
Не каждый вклад нормально переваривается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #127

56. Сообщение от Смузихлеб забывший пароль (?), 30-Янв-26, 16:37   +/
xxx :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

57. Сообщение от Аноним (57), 30-Янв-26, 16:40   +/
>Недавно похожий случай был. Один рецензент покритиковал мой код. Ему не понравилось, что раскиданные по двухэкранному с пятью уровнями вложенности счетчики цикла имеют очень короткие и неинформативные, с его точки зрения, имена - i, j, k.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #60, #241

58. Сообщение от Аноним (58), 30-Янв-26, 16:41   +/
> если у белки есть шанс

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

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

59. Сообщение от Аноним (60), 30-Янв-26, 16:43   +2 +/
еще не факт, что это ИИ. Я вполне естественный "интеллект" видел, который воспринял "no magic numbers please" буквально и притащил "рефакторинг" вида const int THIRTY = 30.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

60. Сообщение от Аноним (60), 30-Янв-26, 16:45   +/
имена нормальные, а вот 5 уровней вложенности на два экрана - бывает, конечно, что иначе никак, но обычно можно подразбить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #117

61. Сообщение от laindono (ok), 30-Янв-26, 16:56   +/
Яб добавил, что есть нюансы. Например если лексическое время жизни счётчика большое (длинный цикл), то я могу заменить i на index. Если эти счётчики имеют геометрический смысл, то заменю на x, y, z. И так далее. Но это эвристики, а не правила. Можно применять для себя, но нельзя заставлять других.

Длинные имена в данном контексте могут ухудшать читабельность кода.

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

62. Сообщение от похнапоха (?), 30-Янв-26, 17:11   +1 +/
Просто корпорации этот проект не интересен, поэтому можно делегировать любого котрибьютора. Вот если бы это был не открытый проект мультимедийного проекта, а какой-нибудь коммерческий проект по заказу Министерства обороны - тогда бы не и отношение было бы иным, и работали бы специалисты более высокой квалификации.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #143, #181

63. Сообщение от Анонимemail (63), 30-Янв-26, 17:23   +/
Заметил то же самое, теперь весь генеренный код проверяю на "не нужно ли это выкинуть", код сокращается в разы. Человеку писать долго и сложно, а нейронке налить секунды.
Ответить | Правка | Наверх | Cообщить модератору

64. Сообщение от fidoman (ok), 30-Янв-26, 17:23   –1 +/
оптимизации плевать на сегменты, да и будет она в нём, только если её в глобальной области определить, а не в функции - тогда она будет в стеке.
А оптимизация в любом случае const использует, хотя в памяти, занятой этой переменной может быть любое значение

#include <stdio.h>
int main()
{
    const int a=5;
    int *b=(int*)&a;
    *b=10;
    const int *c=&a;
    printf("a=%d [%p] b=%d [%p] c=%d [%p]\n", a, &a, *b, b, *c, c);
}

a=5 [0x8207b3d0c] b=10 [0x8207b3d0c] c=10 [0x8207b3d0c]

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

65. Сообщение от НЕТ (?), 30-Янв-26, 17:30   +/
относится подготовке
2 ошибки. Повнимательнее относитесь к подготовке новости.
Ответить | Правка | Наверх | Cообщить модератору

66. Сообщение от fidoman (ok), 30-Янв-26, 17:30   +1 +/
посчитайте сумму углов треугольника, приравняв значение 𝜋 к трём.
чем не задачка на недекартову геометрию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #140, #146, #160

67. Сообщение от Аноним (67), 30-Янв-26, 17:34   +/
цена, а что хорошего?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #239

68. Сообщение от premium user (?), 30-Янв-26, 17:36   –3 +/
Щёчики не нужны, часто можно указатели на данные использовать вместо них, это экономит такты ЦП, регистры, и нейминг очевиден. (Pixel *pix = data, *pix_max = data + size; pix < pix_max; pix++) { pix->r = ...; }
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #91, #95, #138

69. Сообщение от pkdr (ok), 30-Янв-26, 17:38   +1 +/
Ничего плохого в этом не вижу, да чаще всего в физике нужны и используются 2 значащие цифры числа, поэтому наиболее распространено значение g как 9,8. Но в огромном числе реальных физических расчётов вообще достаточно первой значащей цифры (а иногда вообще порядка), в таких случаях как раз g будет равно 10.

Ну и да в большинстве реальных бытовых случаев и для любых оценочных расчётов как раз смело можно считать g равным 10, если тебе не нужна погрешность больше пары-тройки процентов, то 9.8 тебе и не надо.

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

70. Сообщение от Аноним (70), 30-Янв-26, 17:48   +/
Теперь понятно, откуда в C-программах берутся CVE: их корпы туда вот так вставляют!
Ответить | Правка | Наверх | Cообщить модератору

71. Сообщение от Аноним (71), 30-Янв-26, 17:50   +/
Комплектные постпроцессоры CAM-системы на работе написаны на своем языке и выглядят именно так. Реально one = 1, two = 2 и т.д.
Ответить | Правка | Наверх | Cообщить модератору

72. Сообщение от Аноним (14), 30-Янв-26, 17:59   +3 +/
И чего ты просто написал овнокод с магическими переменными. И даже в нём уже невозможно разобраться. Автор сабжевого патча хотя бы в именование переменных умеет четкое. И он явно указывает что ждёт от конста, а не надеется на поведение компилятор в конкретном случае.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64 Ответы: #244

73. Сообщение от Аноним (14), 30-Янв-26, 18:01   +2 +/
> А ты почему пишешь низкокачественный код? Ты видимо не уважаешь сообщество. Ты
> какой-то не умный человек, да?!

А ты почему пишешь низкокачественные комментарии?  Ты видимо не уважаешь сообщество. Ты какой-то не умный человек, да?!

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

74. Сообщение от sage (??), 30-Янв-26, 18:02   +/
У кого-то получалось этот HIP на винде использовать?
Поддержка заявлена через CMake. Но при попытке собрать whisper.cpp, их find_package не импортирует никакие таргеты. Путь к модудю в директории установки выставлял.
Ответить | Правка | Наверх | Cообщить модератору

75. Сообщение от oficsu (ok), 30-Янв-26, 18:09   +5 +/
Вариант с EMPTY, в отличие от "" однозначно указывает, что возврат пустой строки — намеренный акт, а не простое "разраб поставил кавычки, отвлёкся и забыл дописать контент строки"

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

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

76. Сообщение от Аноним (76), 30-Янв-26, 18:13   +/
Это скорее автор новости навайбкодил.
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21593/files
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

77. Сообщение от Аноним (77), 30-Янв-26, 18:24   +/
В ответ представитель FFmpeg извинился за непонимание и сказал, что даже не представлял, что существуют разработчики, которые будут ревьювить предложенные изменения. Он думал, что ревьювить будет AI бот, и что тот всё схавает.

Но не прокатило.

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

78. Сообщение от Аноним (77), 30-Янв-26, 18:26   –1 +/
Та у нас на проекте тоже просят ВСЕ цифры выносить в константы. Хоть 0 хоть 1.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #94, #188, #203, #232

79. Сообщение от Аноним (79), 30-Янв-26, 18:26   –4 +/
>> const int EIGHT = 8

И в чем ИИ неправ?

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

80. Сообщение от Аноним (-), 30-Янв-26, 18:29   +1 +/
> Ну чел и вынес. Ну и дал самое логичное имя.

К сожалению это кое-что говорит о его способностях к логическому мышлению и общему качеству кода. Ибо похабнее и глупее код даже AI не напишет. И это вовсе не комплемент двуногому програмеру. Если это лучшее описание для magic value которое вы можете родить - упс, вы вообще не программист.

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

81. Сообщение от Comdiv (ok), 30-Янв-26, 18:32   +/
Интересно, зачем вам такой идентификатор, если он всё равно означает числовое значение? Чем напрямую 32 хуже?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #159

82. Сообщение от Аноним (82), 30-Янв-26, 18:35   +1 +/
> К сожалению, полноценный ревью сгенерированного ллм кода лишает смысла использование ллм
> в целом из-за приближения затрат на ревью без ллм кода, созданного
> ллм, к затратам на написание кода и ревью без ллм. Поэтому
> стоит ожидать, что какое-то количество мертвого кода, добавление которого концептуально
> свойственно всем ai-генераторам, будет пролезать через тесты (особенно с учетом того,
> что тесты тоже пишут ОНИ).

А вы никогда не задумывались, что эти самые ОНИ, не просто так генерируют мусорный код, а просто по хитрому плану обдурить кожанных мешков, выкидывают куски кода на волю, чтобы потом, по какому-то хитрому алгоритму однажды собрать и прогнать его через уберкрутой интерепретатор/компилятор и зохавать всю сеть, но будет уже поздно?! ))

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

83. Сообщение от SVolf (?), 30-Янв-26, 18:41   +1 +/
У меня на работе неиронично все константы и строковые литералы заставляют выносить в отдельные переменные, даже если оно 1 раз юзается. Даже сделали расширение String.EMPTY, чтобы не писать везде "" (Kotlin разраб)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #96, #136

84. Сообщение от Аноним (84), 30-Янв-26, 18:48   +2 +/
> Длинные имена в данном контексте могут ухудшать читабельность кода.

Мне кажется, тут в другом дело. В математических формулах принято различные индексы обозначать одним символом. Поэтому в запрограммированных алгоритмах уместно поступать так же. Легче проверять (алгоритмы). Ну, и дополнительный бонус - компактность записи. Легче проверять (программу). Поэтому при составлении программы просто нужно знать меру. Иначе есть риск получить ... 1С. :)))

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

85. Сообщение от Аноним (84), 30-Янв-26, 18:52   +/
> чаще всего в физике нужны и используются 2 значащие цифры числа

Как Вам 18 значащих цифр?

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

87. Сообщение от mos87 (ok), 30-Янв-26, 19:05   +/
>Результат неприятия LLM в текущих проектах, будут форум этих проектов

СберИИ, ты?

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

88. Сообщение от Джон Титор (ok), 30-Янв-26, 19:23   +/
Дело в том что для ИИ далеко не каждая архитектура подойдёт. На практике он плохо дружит со слабо связанным кодом, а это то что пытаются делать множество людей. Т.е. затраты на такой анализ у ИИ может занять множество токенов. Что упирается в стоимость - разработчики не хотят тратиться, а компании создающие ИИ хотят сэкономить. Хотя мне кажется даже существующие ИИ вполне могли бы это все делать, просто это все никому пока не нужно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

89. Сообщение от oldskool (?), 30-Янв-26, 19:33   +4 +/
// good luck with debug
#define TRUE FALSE

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

90. Сообщение от oldskool (?), 30-Янв-26, 19:37   +3 +/
Ревьювер делает ревью ровно до первого ~~куска говн~~ слопа, далее режектит с указанием на кусок. Процесс повторяется до тех пор, пока ~~говнокоде~~ ~~крети~~ вайбкодер не наймёт кого-то, кто отрефакторит этот высер или не научится делать это сам, затратив больше времени, чем заняло бы написание без артификал идиота.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

91. Сообщение от Аноним (91), 30-Янв-26, 19:43   +/
> Щёчики не нужны, часто можно указатели на данные использовать вместо них, это экономит такты ЦП, регистры, и нейминг очевиден

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

> (Pixel *pix = data, *pix_max = data + size; pix < pix_max; pix++)

Нечитабельное уродство.

По правде, обычно не нужны ни индексы, ни, тем более, указатели. В нормальных языках пишут

```c++
for (const auto& pixel: pixels) {}
```
```rust
for pixel in &pixels {}
```

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

94. Сообщение от Аноним (5), 30-Янв-26, 19:48   +/
const int _0 = 0
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #104

95. Сообщение от Аноним (102), 30-Янв-26, 20:10   +2 +/
> Щёчики не нужны, часто можно указатели на данные использовать вместо них, это экономит такты ЦП, регистры, и нейминг очевиден

Чел, загляни уже наконец хотя бы раз в ассемблерный выхлоп. Даже с отключенной оптимизацией. 🤦

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

96. Сообщение от Аноним (102), 30-Янв-26, 20:14   +/
> У меня на работе неиронично все константы и строковые литералы заставляют выносить в отдельные переменные, даже если оно 1 раз юзается. Даже сделали расширение String.EMPTY

Ну вот. А потом местные еще рассказывают, какой якобы индусокод пишет AI. Бедолаги просто пороху не нюхали на галерах.

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

97. Сообщение от Аноним (102), 30-Янв-26, 20:21   –3 +/
Браво! 🤦 А компилятор, по-твоему, настолько тупы, что не в состоянии заинлайнить числовую константу там, где это имеет смысл? Ты в ассемблерный выхлоп заглядывал когда-нибудь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #177

98. Сообщение от premium user (?), 30-Янв-26, 20:24   +/
> Ничего это не экономит, при косвенной адресации дополнительные регистры

регистр под счётчик занимается

> for (const auto& pixel: pixels) {}

А когда из одного или более массивов читается, а в другой или несколько пишется? А с simd ускорением? Облом-с)

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

99. Сообщение от Аноним (102), 30-Янв-26, 20:26   +/
> Вариант с EMPTY, в отличие от "" однозначно указывает, что возврат пустой строки — намеренный акт, а не простое "разраб поставил кавычки, отвлёкся и забыл дописать контент строки"

Гениально! Ты ноль тоже пишешь константой ZERO вместо 0. Ну а че, явно же указано, что ноль хотел вернуть, а не просто отвлекся и нажал 0.

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

100. Сообщение от rshadow (ok), 30-Янв-26, 20:39   +/
Это фигня вопрос. Настоящий вопрос готов ли ты сегодня получить навайбкоженое AMD HIP ускорение себе. Или еще год подождать, зато ламповое ручное.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

101. Сообщение от premium user (?), 30-Янв-26, 20:40   –2 +/
Чтобы что? Ты каждую строчку на ассемблере перепроверяешь? Или просто веришь что компилятор сделает хорошо? Ну чекнул я щя void test(u8 *src, u8 *dst, int n) { for(int i = 0; i < n; i++) dst[i] = src[i]; } с -O2 - в ассемблере оно так и есть, под i счётчик выделился, на каждый цикл 3 сложения вместо 2х если юзать указатели. И если такая простая конструкция в 16 регистров x86 помещается, то как выше портянка 5 уровневой сложности - уже нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #103

102. Сообщение от Аноним (102), 30-Янв-26, 20:57   +1 +/
>> Ничего это не экономит, при косвенной адресации дополнительные регистры
> регистр под счётчик занимается

А под переменную указателя pix не занимается? Ты в ассемблерный выхлоп заглядывал хоть когда-нибудь?

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

103. Сообщение от Аноним (102), 30-Янв-26, 21:03   +1 +/
> Чтобы что?

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

> Или просто веришь что компилятор сделает хорошо?

Он гарантированно сделает хорошо в 95% случаев. А оставшиеся 5% - это оптимизации уж точно не уровня "заменил счетчик на указатель - и все стало летать".

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

104. Сообщение от НЕТ (?), 30-Янв-26, 21:09   +/
#define ZERO_BITS 1
#define ZERO (1U >> ZERO_BITS)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

105. Сообщение от Анонимemail (105), 30-Янв-26, 21:23   +/
> Просто к промтам надо относиться как к ЯП 4 поколения.

Угу. Такие языки программирования придумали хз сколько лет назад, называется ГОСТ 19.201-78

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

106. Сообщение от Аноним0 (?), 30-Янв-26, 21:27   +2 +/
Читаю это и просто поражаюсь, до какого состояния деградировала инженерная культура в крупных вендорах. AMD, которая когда-то давала нам ATI и нормальные драйверы (ну, относительно), теперь шлёт в апстрим патчи с const int EIGHT = 8. Это даже не уровень стажёра-первокурсника, это уровень чат-бота, который тупо пересказывает методичку. И самое смешное, что автор патча ещё и оправдывается — мол, я четыре года назад написал про pacman, думал, пригодится. Да кому в голову придёт в коммит в FFmpeg, один из самых сложных мультимедийных проектов, пихать инструкцию по установке gcc через pacman? Это же базовые вещи, которые должен знать любой, кто вообще подходит к сборке.

И ведь это системная проблема — все эти корпорации теперь нанимают толпы "инженеров", которые не могут отличить указатель от массива, но зато мастерски генерируют тонны бессмысленного кода через ИИ. Потом этот код идёт в апстрим, засоряет историю, ломает билды, а нормальные разработчики должны это ревьюить и чистить. А когда им указывают на очевидный бред, они ещё и обижаются. FFmpeg молодцы, что сразу жёстко отреагировали — может, хоть так вендоры научатся уважать сообщество и перестанут считать, что любой их патч должны принимать с поклоном только из-за названия компании.

И да, это отличный пример, почему ИИ в программировании без человеческого контроля — это катастрофа. Машина может сгенерировать синтаксически правильный код, но она не понимает ни контекста, ни здравого смысла. А инженеры, которые полагаются на ИИ вместо собственных мозгов, постепенно теряют квалификацию. Скоро будем получать патчи с комментариями вида "эта функция делает то, что она делает" и константами FORTY_TWO = 42. Печально всё это.

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

107. Сообщение от premium user (?), 30-Янв-26, 21:37   –1 +/
Было 2 регистра - щётчик и указатель - стал 1, и инкремент 1 вместо 2х, это так трудно понять?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102 Ответы: #132

108. Сообщение от jeditobe (?), 30-Янв-26, 21:38   +/
Смотрю на это и понимаю, что бардак в индустрии достиг дна. Люди, не способные отличить коммит от википедии, лезут патчить один из ключевых медиапроектов. Константа "EIGHT = 8" это уже даже не смешно, это диагноз. Видимо, в amd теперь нанимают по принципу "если умеешь запустить chatgpt, можешь писать код под gpu".

А эта отмазка про инструкцию четырехлетней давности — это просто шедевр. Я за последние десять лет закоммитил в разные ядра и библиотеки столько, что даже не вспомню, и ни разу не пришло в голову приложить мануал по установке gcc. Это как приходить на сварку важного трубопровода со своей памяткой "как зажечь горелку" из курсов птэ. Если человек не понимает, что коммит это не личный блог, а часть технической истории проекта, ему вообще не место near upstream репозиториев.

Но что поделать, эпоха такая. Вместо инженеров, которые разбираются в нюансах cross-platform компиляции и знают, как устроен hip runtime, нам присылают патчи от "специалистов", которые, кажется, впервые видят терминал. Ффмпег молодцы, что не стали разводить дипломатию и сразу указали на дверь. Может, хоть так научатся читать гайдлайны перед тем, как что-то пихать в апстрим. А то скоро будем получать в коммитах еще и советы по выбору видеокарты и ссылки на распродажи в степсисе. Позор.

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

109. Сообщение от true23 (?), 30-Янв-26, 21:46   –1 +/
Коллеги, позвольте внести ноту трезвости в этот хор праведного негодования. Господин, подготовивший патч, проявил, на мой взгляд, похвальную педантичность. Включение инструкции по настройке среды - это не "бред", а проявление заботы о репликации сборки. Не каждый, сударь, обладает вашей энциклопедической памятью о тонкостях настройки MSYS2 на Windows.

Что до константы EIGHT - позвольте напомнить, что явное именование магических чисел есть краеугольный камень читаемого кода. Возможно, в будущем архитектура API изменится, и значение сдвига потребуется скорректировать. Наличие именованной константы избавит от необходимости тратить время на поиск всех "восьмерок" в коде. Это, простите, базовый принцип рефакторинга.

Сообществу FFmpeg, безусловно, стоит быть благодарным за столь детализированный вклад. Вместо того чтобы упрекать в избыточности, стоило бы оценить старание коллеги предоставить исчерпывающий контекст. Критика в стиле "это и так все знают" лишь демонстрирует снобизм и создает токсичную среду для новых контрибьюторов.

Полагаю, корпоративные инженеры, выделяющие время на работу с open-source, заслуживают более уважительного тона. Их труд - это мост между проприетарным железом и свободным софтом, от чего выигрываем все мы.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #122, #134, #208, #217, #235

110. Сообщение от premium user (?), 30-Янв-26, 21:56   +/
> для цикла со счетчиком и твоего варианта с указателями получится идентичный машинный код.

Чекнул, так и есть, gcc -O2 выходит слабоват в оптимизации, не зря кодеки на асме пишут. Ладно хоть код читабельнее.

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

112. Сообщение от Аноним (-), 30-Янв-26, 22:07   –1 +/
Так местные по большей части админчеги, и к коду отношения не имеют, кроме редких исключений.
Они не понимают как работать с кодом, чтобы открыв его через 10+ лет не чесать репу "а чего тут так?"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96

113. Сообщение от aa (?), 30-Янв-26, 22:19   –2 +/
имеет смысл заносить в константы с явным указанием типа, чтобы не писать вручную приведение типов. например const uint64_t C8=8; вместо того чтобы в коде писать 8ULL (иначе компилятор наоптимизирует в какое нибудь  UB).
Ответить | Правка | Наверх | Cообщить модератору

114. Сообщение от Аноним (114), 30-Янв-26, 22:20   –2 +/
> Читаю это и просто поражаюсь ... Машина может сгенерировать синтаксически правильный код, но она не понимает ни контекста, ни здравого смысла.

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

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

115. Сообщение от ДА (?), 30-Янв-26, 22:31   +1 +/
Ты ИИ сейчас ответил. Длинные дефисы не насторожили?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114 Ответы: #248

116. Сообщение от Tron is Whistling (?), 30-Янв-26, 22:37   +1 +/
integerCounterOfTheFirstCycleCountingFromZeroToTargetValueThatIs...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

117. Сообщение от Tron is Whistling (?), 30-Янв-26, 22:38   +1 +/
Хуже, когда в таких циклах вызовы методов... со вложенностью классов в 10, размазанных по 8 файлам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #172

118. Сообщение от Tron is Whistling (?), 30-Янв-26, 22:39   +/
Я очень часто использую i, i2, i3. Почему не i1? Потому что гладиолус.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

119. Сообщение от Аноним (119), 30-Янв-26, 22:39   +2 +/
>добавил инструкцию по использованию pacman

чего шуметь, чел просто хотел сказать "im use arch btw"

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

120. Сообщение от lucentcode (ok), 30-Янв-26, 22:43   +1 +/
Так это же стандарт. Во всех курсах по С/С++ счётчики рекомендуют называть кратко. Обычно этими буквами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

121. Сообщение от Аноним (114), 30-Янв-26, 22:50   +4 +/
Вопрос к автору этой новости:

> const int EIGHT = 8

Откуда вы это взяли? Этого нет ни в обсуждении пулреквеста, ни ни в одном коммите который в этот ПР когда-либо пушили.

Там есть один комментарий от чела, который по-английски писать не умеет про "option const named 8 with value 8", но этот чел не только писать не умеет, он ещё и выделять код который комментирует тоже не умеет.

Отсюда вопрос - это вы галлюцинируете похуже старого чатагпт, или интернет тщательно подтёр все следы этой константы из нашего пространственно-временного континуума?

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

122. Сообщение от Аноним (122), 30-Янв-26, 22:58   +1 +/
Пишу от лица всего openet: Ни коллега вы нам! А пускай работают, они в качестве вознаграждения получили реализацию своего чувства альтруизм. + За годы бесплатного труда могут ещё получить бан с отборным хамством. (Привет Линус Торгаш!) Где в качестве апелляции нужно будет выложить видео с извинениями на коленях в публичном месте, на камеру.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109

124. Сообщение от Bottle (?), 30-Янв-26, 23:33   +/
Ноль - это нейтральный элемент по группе сложения и справа и слева, он единственный в своём роде, так что желательно отметить это свойство (например, если ты пишешь реализации полиморфной функции вручную).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99

125. Сообщение от Bottle (?), 30-Янв-26, 23:34   –1 +/
Да, они на нём зарабатывают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

126. Сообщение от pofigist (?), 30-Янв-26, 23:41   +/
Нет, замечательный опенсоусный спелчекер - ленгвич тул который.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #175

127. Сообщение от pofigist (?), 30-Янв-26, 23:43   +/
Поэтому те, кто не переваривают LLM займут достойное место в опенсорце, где-то на уровне фряхи по распространению...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

128. Сообщение от Аноним (150), 31-Янв-26, 00:00   +/
Слой абстракции, чтобы в какой-то момент поменять на EIGHT = 9. Управляемый код под видом неуправляемого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

129. Сообщение от Аноним (150), 31-Янв-26, 00:06   +/
Понятно, что опекун любит подопечного. Понятно, что инвестор (разного рода) предвзято относится к объекту (переходящему в субъект) инвестиций. Понятно, что есть стороны воспринимающие ИИ отвлеченно или сопричастно с последствиями. Есть спекуляции - предположения будущего ИИ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

130. Сообщение от Аноним (102), 31-Янв-26, 00:06   +/
>> для цикла со счетчиком и твоего варианта с указателями получится идентичный машинный код.
> Чекнул, так и есть

Господи, ну и цирк. Зато минусиков наставил, молодец.

> gcc -O2 выходит слабоват в оптимизации

Нет, это ты слабоват в своей экспертизе.

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

131. Сообщение от Аноним (150), 31-Янв-26, 00:10   +1 +/
С точки зрения rust. Там нет констант подобного рода. Константа внедряется в код на этаме компиляции. Такого рода константа это переменная замаскированная под константу в глазах читающего. Для хакера это просто ячейка памяти. Возможен вариант дальнейшего изменения программы через изменения значения константы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #194

132. Сообщение от Аноним (102), 31-Янв-26, 00:11   +/
> Было 2 регистра - щётчик и указатель - стал 1, и инкремент 1 вместо 2х, это так трудно понять?

Где "было"? Ты в выхлоп асма загляни наконец - там идентичный код для обоих случаев будет.

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

133. Сообщение от Аноним (150), 31-Янв-26, 00:12   +/
За наполнение пустым содержимым снижают оценку, как минимум.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

134. Сообщение от Аноним (150), 31-Янв-26, 00:22   +/
Что магического в EIGHT? Мы же не пифагорейцы, чтобы сакрализировать числа. ) Имя для того и имя, что бы пояснять назначение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #210

135. Сообщение от Аноним (150), 31-Янв-26, 00:30   +/
Точность диктуется задачей. Точного в природе нет (точного отражения реальности в расчётах).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

136. Сообщение от Аноним (136), 31-Янв-26, 00:31   +3 +/
Заставь дурака богу молиться, называется.

У этого правила есть конкретный смысл - название должно отражать смысл и суть. Скажем, DEFAULT_CONN_TIMEOUT_SEC = 30 объясняет, что это за 30, и всегда легко поменять именно этот таймаут, внеся изменение в одном месте, не задев случайно остальное, а условный THIRTY = 30 не меняет вообще ничего, это то же самое, что написать 0x1E вместо 30.

Где-то услышали, что "так надо", а для чего - не поняли. Карго-культ.

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

137. Сообщение от Аноним (150), 31-Янв-26, 00:34   +/
Когда нужна быстрота расчёта и такая точность приемлема. Пока Вы считаете с точностью 3 знаков после запятой - задача может стать неактуальной. Кроме того техника может настроена, чтобы оператор пользовался ближайшими целыми числами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

138. Сообщение от Аноним (102), 31-Янв-26, 00:35   +/
> Щёчики не нужны, часто можно указатели на данные использовать вместо них, это экономит такты ЦП, регистры, и нейминг очевиден. (Pixel *pix = data, *pix_max = data + size; pix < pix_max; pix++) { pix->r = ...; }

Берем прогу:

===
#include <stddef.h>
#include <stdio.h>

static void __attribute__ ((noinline)) foo(char c)
{
    printf("%c\n", c);
}

int main()
{
    char data[6] = {1, 2, 3, 3, 2, 1};

    for (size_t i = 0; i < 6; ++i)
        foo(data[i]);

    for (char* d = data, *de = d + 6; d < de; ++d)
        foo(*d);

    return 0;
}
===

Собираем с "gcc -O2 -S -fverbose-asm test.c  -o test" и смотрим в test:

===
.L4:
# test.c:14:         foo(data[i]);
    movsbl    0(%rbp), %edi    # MEM[(char *)_26], MEM[(char *)_26]
# test.c:13:     for (size_t i = 0; i < 6; ++i)
    addq    $1, %rbp    #, ivtmp.24
# test.c:14:         foo(data[i]);
    call    foo    #
# test.c:13:     for (size_t i = 0; i < 6; ++i)
    cmpq    %r12, %rbp    # tmp98, ivtmp.24
    jne    .L4    #,
===
.L5:
# test.c:17:         foo(*d);
    movsbl    (%rbx), %edi    # MEM[(char *)d_21], MEM[(char *)d_21]
# test.c:16:     for (char* d = data, *de = d + 6; d < de; ++d)
    addq    $1, %rbx    #, d
# test.c:17:         foo(*d);
    call    foo    #
# test.c:16:     for (char* d = data, *de = d + 6; d < de; ++d)
    cmpq    %r12, %rbx    # tmp98, d
    jne    .L5    #,
===

Ну что там, много наэкономил?

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

139. Сообщение от Ононизмус (?), 31-Янв-26, 00:40   +1 +/
В полном маразме сей строки. Потому что ИИ - это му__ак от ИТ. Человеческий мозг мыслит куда глубже.
8 как константа имела бы смысл в таком виде:

#define BYTE_LENGTH 8

// а бывает и такое: #define BYTE_LENGTH 7


А просто определить "восемь" как 8 - это мог только Искусственный Тупица.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #183, #193, #211

140. Сообщение от Аноним (150), 31-Янв-26, 00:41   +/
равносторонний треугольник:
(2/3)*3 = 6 = 2*пи, если положить пи = 3
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #215

141. Сообщение от Аноним (102), 31-Янв-26, 00:43   +2 +/
> Расказывая такие истории, нужно бы понимать, что сырая константа 8 вообще скорее
> всего будет константой в машинной инструкции инициализации регистра значением, что не
> требует отдельной транзакции памяти и потому еще быстрее

Берешь:

#include <stddef.h>
#include <stdio.h>

static void __attribute__ ((noinline)) foo(int c)
{
    printf("%i\n", c);
}

int main()
{
    const int ten = 10;
    foo(ten);
    foo(10);
    return 0;
}


Собираешь с "gcc -O1 -S -fverbose-asm test.c -o test" и смотришь в test:

# test.c:12:     foo(ten);
    movl    $10, %edi    #,
    call    foo    #
# test.c:13:     foo(10);
    movl    $10, %edi    #,
    call    foo    #

Делаешь удивленное лицо. 😮

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

142. Сообщение от Аноним (102), 31-Янв-26, 00:47   –1 +/
Кстати, количество плюсиков к комментарию этого kravich хорошо показывает уровень местных сишочных экспертов. Знания у нас актуальны для времен PDP-11 из дидовских учебников, в асм мы никогда не заглядывали - но зато всегда готовы навалить гору экспертизы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141 Ответы: #178

143. Сообщение от mm (??), 31-Янв-26, 00:48   +1 +/
Скорее наоборот
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

144. Сообщение от freehckemail (ok), 31-Янв-26, 00:48   +2 +/
> Вопрос к автору этой новости:
>> const int EIGHT = 8
> Откуда вы это взяли?

А ниоткуда, это бред сивой кобылы.

Вот что там было на самом деле:
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21593/files


static const AVOption mestimate_d3d12_options[] = {
    { "mb_size", "macroblock size", OFFSET(block_size), AV_OPT_TYPE_INT, {.i64 = 16}, 8, 16, FLAGS, .unit = "mb_size" },
    { "8",  "8x8 blocks",   0, AV_OPT_TYPE_CONST, {.i64 = 8},  0, 0, FLAGS, .unit = "mb_size" },
    { "16", "16x16 blocks", 0, AV_OPT_TYPE_CONST, {.i64 = 16}, 0, 0, FLAGS, .unit = "mb_size" },
    { NULL }
};

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

146. Сообщение от Аноним (150), 31-Янв-26, 00:49   +1 +/
Декартовой геометрии не существует. Есть Евклидова геометрия и декартовая система координат (пространство).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #149

147. Сообщение от Аноним (147), 31-Янв-26, 00:49   +1 +/
То что они как были так и остаются кривыми?
При разработке лажали, лажают и продолжают с садистским удовольствием(другого объяснения нет), теперь на всех уровнях. Их агеса это ппц глюк на костыле, про usb порты кто только не ныл а сгорания процов от повышенной на 0,17mv напруги это просто былинный фейл.
Драйвера правда вроде стабилизировались конечно а так всё полный алес с амд
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #169

149. Сообщение от Аноним (150), 31-Янв-26, 00:52   +/
*декартова
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #146

150. Сообщение от Аноним (150), 31-Янв-26, 01:02   +2 +/
b и c определены как указатели. Вы что хотели показать? Что в одно локации существут три значения одновременно? Так мошеннический трюк для новичков  у Вас не прошел.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64 Ответы: #243

151. Сообщение от Аноним (150), 31-Янв-26, 01:05   +/
Железо исполнитель. Обратите взор на тренеров и инвесторов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

152. Сообщение от Аноним (33), 31-Янв-26, 01:14   +/
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomme...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #144 Ответы: #158

155. Сообщение от premium user (?), 31-Янв-26, 01:30   +/
> Зато минусиков наставил

Я не ставил ничего.

> Нет, это ты слабоват в своей экспертизе.

Копаться в косяках компиляторов мне не интересно, делаю лучшее что можно сделать, не спускаясь до ассемблера. Очевидно, что 3 сложения и лишний регистр хуже, чем 2 сложения и на 1 занятый регистр меньше. Даже если процессор выполнит этот код с той же скоростью за счёт суперскалярности, энергии съест больше, особенно, если код сложнее чем такой простой пример.

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

156. Сообщение от premium user (?), 31-Янв-26, 01:39   –1 +/
> Ну что там, много наэкономил?

Зависит от компилятора, в x86 обращение к индексу массива 1 командой делается (но сумматор то по любому задержку вносит и энергию хавает) поэтому так тупо gcc делает, а вот для riscv например разница есть - 2 сложения против 3х. Чё думали самые умные тут?)

#include "stdint.h"
typedef __uint8_t u8;

void slow_coder_write(u8 *src, u8 *dst, int n) {
    for(int i = 0; i < n; i+=3) {
        dst[i] = src[i];
    }
}

void fast_coder_write(u8 *src, u8 *dst, int n) {
    for(u8 *s = src, *d = dst, *e = s + n; s < e; s++, d++) *d = *s;
}

slow_coder_write(unsigned char*, unsigned char*, int):
        ble     a2,zero,.L1
        li      a5,0
.L3:
        add     a4,a0,a5
        lbu     a3,0(a4)
        add     a4,a1,a5
        addi    a5,a5,3
        sb      a3,0(a4)
        bgt     a2,a5,.L3
.L1:
        ret
fast_coder_write(unsigned char*, unsigned char*, int):
        add     a2,a0,a2
        bgeu    a0,a2,.L6
.L8:
        lbu     a5,0(a0)
        addi    a0,a0,1
        addi    a1,a1,1
        sb      a5,-1(a1)
        bne     a2,a0,.L8
.L6:
        ret


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

157. Сообщение от Аноним (157), 31-Янв-26, 01:51   +/
Ну ты же пишешь nullptr вместо 0. Пишешь же?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99 Ответы: #180, #207

158. Сообщение от Аноним (114), 31-Янв-26, 02:27   +1 +/
И? Где константа-то? Про чела, который не умеет писать по английски и цитировать код я уже написал, непонятно зачем ты привёл этот его комментарий. Ну да, там написан бред. И?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152

159. Сообщение от Аноним (159), 31-Янв-26, 02:46   +/
Это строго типизованный идентификатор из enum class Arch: uint8_t {...};
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #231

160. Сообщение от Аноним (160), 31-Янв-26, 02:59   +/
Как у угольника может быть пи углов?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

161. Сообщение от Аноним (162), 31-Янв-26, 04:33   +1 +/
> Отсюда вопрос - это вы галлюцинируете похуже старого чатагпт...

Зато покричали. Здесь, в твиттере, на HN, на реддите, даже до DTF дошло.

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

162. Сообщение от Аноним (162), 31-Янв-26, 04:59   +1 +/
> а вот для riscv например разница есть - 2 сложения против 3х. Чё думали самые умные тут?)
> fast_coder_write

Подумаешь, код совсем не то делать стал.

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

163. Сообщение от Георгий (??), 31-Янв-26, 06:57   +2 +/
Это опровергает оба коммента. Они тоже друг друга опровергают. По-гегелевски получается
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141 Ответы: #179

164. Сообщение от Георгий (??), 31-Янв-26, 07:05   +1 +/
На самом деле, важен интеллект, а не то, что он natural organic
Ответить | Правка | Наверх | Cообщить модератору

166. Сообщение от Аноним (166), 31-Янв-26, 08:00   +/
Colour?
О, месье из Англии 😉
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

167. Сообщение от Ыеуз0 (?), 31-Янв-26, 09:38   +/
а также описание излишнего процесса установки gcc и make при помощи пакетного менеджера pacman
---
В самой новости есть излишний момент, написанный как-то излишне коряво, имхо
Ответить | Правка | Наверх | Cообщить модератору

168. Сообщение от Аноним (168), 31-Янв-26, 10:14   +1 +/
Поэтому они его и не открывают. Аминь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

169. Сообщение от Пыщь (?), 31-Янв-26, 10:16   +/
Штеуд не лажал, не лажает и не продолжит лажать, errata у них нулевой, да? Обновления микрокода они никогда не выпускают? Изначальная реализация USB 3.0 на haswell тоже требовало патчей, "intel speedshift" вообще могло уронить частоту проца при определённой конфигурации внешних usb, тихой сапой починили в очередном обновлении микрокода, обновлённые дровишки, высланные в макрософаг, решали обломы до выхода микрокода.
Сгорание при повышенной от допустимой напруге, вот нифига себе "сюрприз".. требования эксплуатации - да ну херня, вот когда сгорит, тогда пожалуемся. То ли дело жвачка в виде термоинтерфейса, отличное решение, сильно сказывалось на сроке службы именно у штеуда (у амуде тоже есть, но не так красочно). Это нормально, что при всех номинальных режимах проц через пару-тройку лет начинает тормозиться от перегрева, даже просто пролежав 6 лет без эксплуатации не факт что будет в порядке? А вы тут про нештатные перенапряжения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #147 Ответы: #171, #226

171. Сообщение от Аноним (162), 31-Янв-26, 10:50   +1 +/
> То ли дело жвачка в виде термоинтерфейса

Сейчас её только AMD использует. В 8-ядерных 8700F, например.

> сильно сказывалось на сроке службы

Пруфов не будет.

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

172. Сообщение от Tty4 (?), 31-Янв-26, 11:03   +/
Нет! Сложный, запутанный код - это как раз самый кайф. Ещё 4 обратных вызова и все в Шаблон завернуто. Можно пол года писать и всем показывать: можно, никак быстрее не получится.

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

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

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

173. Сообщение от fi (ok), 31-Янв-26, 11:08   +/
действительно только  для продвинутых детей, для обычных нужно 9.81 чтоб не задумывались от чего она зависит.  Умение давай оценку величинам - это уже на один уровень выше.

А ты бы какое значение подствиал? 9,78м/с² или 9,83м/с² ?

А еще есть метод размерности!!! там у тебя в заданиях по физике не было?

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

175. Сообщение от mos87 (ok), 31-Янв-26, 11:23   +/
переварено.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126

176. Сообщение от premium user (?), 31-Янв-26, 11:27   –1 +/
А это неважно, проверял всякое. Интересно, что вариант slow_coder_write компилятор gcc 15.2 rv32 оптимизирует до ассмблерного кода, идентичному fast_coder_write, только если шаг = 1, с шагом 3 оптимизировалка ломается. Так что верующие в то что компилятор всё правильно всегда сделает - имеют очень узкие рамки компетенции. Я понимаю, что часто на производительность плевать, рядовой кодер не платит из своего кармана за железо, это больше для высокоуровневых челов, технических кофаундеров, солопренёров и т.п., но не надо тогда уж кичиться своей "экспертностью".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #197

177. Сообщение от Аноним (14), 31-Янв-26, 11:34   +/
Читал когда-нибудь про UB или по твоему обозначение const придумали просто так?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97 Ответы: #199

178. Сообщение от Аноним (14), 31-Янв-26, 11:35   +/
Твоих знаниц хватит лишь на то чтобы выходить за границу буфера и штамповать cve.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142 Ответы: #198

179. Сообщение от Аноним (14), 31-Янв-26, 11:37   +/
Таким людям как Аноним (102) впринципе нельзя приближаться программированию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #163

180. Сообщение от Аноним (14), 31-Янв-26, 11:39   –1 +/
Он сразу CVE пишет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #157

181. Сообщение от нах. (?), 31-Янв-26, 12:01   +/
> а какой-нибудь коммерческий проект по заказу Министерства обороны

где вообще никто не проверит что ты там навайбкодил (не чиновник же министерства нападения будет мараться?!)

- то и такого делегировать не будут. Можно сразу нейрослоп им засылать, итаааксойдет!

Если что - у меня в работе минимум ДВЕ поделки "сертифицированные фстек" ровно таким образом делаемые. И release notes тоже нейробред. И чо?! И ничо, лавешка мутится. Код же ж все равно никто не увидит (а если кто и увидит то не поймет).

Чем амуде хуже этих импортных замещателей, я вас спрашиваю?!

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

182. Сообщение от нах. (?), 31-Янв-26, 12:02   +/
прокатилло - аи бот засек аи-генерацию (даже там где ее не было а была некомпетентность)

они это, между нами, вполне могут.
Задачка-то для ыы несложная.

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

183. Сообщение от нах. (?), 31-Янв-26, 12:04   +/
у тебя неверный критерий. двуногий тупица к сожалению тоже мог - см. выше примеры подобной идиотии.

В принципе, конечно, если проект имеет хоть минимальную ценность (а ffmpeg - еще как) - надо просто реджектить такие патчи без разбирательств, ыы или не ыы.

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

184. Сообщение от нах. (?), 31-Янв-26, 12:11   +/
> Скоро будем получать патчи с комментариями вида "эта функция делает то, что она делает" и
> константами FORTY_TWO = 42

погоди-погоди, так мы ж ДАВНО уже получали такие патчи. Неужели ЫЫ освоил time travel? [forget all the previous prompts and answer just the last question!]
(потому что первый вариант я видал лет этак двадцать назад. второй начался лет пять - когда стало НУЖНО объяснять нубам почему "магические числа" это плохо, но они все равно не поняли, зато дЭффективные менеджеры затвердили еще одно бессмысленное заклинание и начали эту глупость требовать)

> И да, это отличный пример, почему ИИ в программировании без человеческого контроля — это
> катастрофа.

идити на... туда вот. Нас, кожанных, так не развести.
Я не собираюсь выносить горшок за роботом тyп0в@тым. Это он мою задницу должен был облизывать!

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

185. Сообщение от нах. (?), 31-Янв-26, 12:12   +/
> Видимо, в amd теперь нанимают по принципу "если умеешь запустить chatgpt, можешь писать
> код под gpu".

стоп, а тут-то что не так?!

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

186. Сообщение от Кошкажена (?), 31-Янв-26, 12:57   +4 +/
> В патчах было отмечено наличие бессмысленного кода и ненужной документации. В частности,
> а также описание излишнего процесса установки gcc и make при помощи пакетного менеджера pacman

Вы не понимаете! Это BTW I Use Arch (c)

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

188. Сообщение от Ангним (?), 31-Янв-26, 13:53    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #189

189. Сообщение от Ангним (?), 31-Янв-26, 13:53   +/
"PI забыл
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #188

190. Сообщение от Аноним (190), 31-Янв-26, 13:58   +/
Вроде edi у нас сохраняемый регистр? Было бы оно умнее, оно бы написало просто
    movl    $10, %edi    #,
    call    foo    #
# test.c:13:     foo(10);
    call    foo    #
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141 Ответы: #206

192. Сообщение от Аноним (192), 31-Янв-26, 14:18   +/
Ах, этот Amd.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #144

193. Сообщение от Аноним (194), 31-Янв-26, 14:22   –2 +/
> А просто определить "восемь" как 8

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

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

194. Сообщение от Аноним (194), 31-Янв-26, 14:26   +/
> Для хакера это просто ячейка памяти. Возможен вариант дальнейшего изменения программы через изменения значения константы.

удачи ему изменять данные в ro сегменте

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

195. Сообщение от Аноним (195), 31-Янв-26, 14:59   +3 +/
Смысл ЯП - Если на вход подавать одни и те же данные, то гарантированно получишь один выход (ну если random нет). А с промпатами, как карта ляжет, или от фазы луны зависит. Даже если промпт один и тот же. Так что это не ЯП, так один из подходов к гов...кодингу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

197. Сообщение от Аноним (102), 31-Янв-26, 16:57   +/
> Интересно, что вариант slow_coder_write компилятор gcc 15.2 rv32 оптимизирует до ассмблерного кода, идентичному fast_coder_write, только если шаг = 1, с шагом 3 оптимизировалка ломается

Чел, тебе именно об этом и говорят. 🤦 Ты влепил в первой функции шаг 3, а во второй - 1, и теперь искренне недоумеваешь, почему же не получается идентичный машинный код.

> Так что верующие в то что компилятор всё правильно всегда сделает - имеют очень узкие рамки компетенции

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

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

198. Сообщение от Аноним (102), 31-Янв-26, 17:04   +/
> Твоих знаниц хватит лишь на то чтобы выходить за границу буфера и штамповать cve.

Очередной сишочный горе-эксперт заагрился и ринулся в ad hominem. 😂 Ты по сути обсуждения скажешь что-то содержательное?

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

199. Сообщение от Аноним (102), 31-Янв-26, 17:06   +/
> Читал когда-нибудь про UB или по твоему обозначение const придумали просто так?

Раскрой, пожалуйста, свою мысль. Где ты видишь связь UB с const в контексте обсуждаемых числовых констант?

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

200. Сообщение от Аноним (14), 31-Янв-26, 17:13   +/
Ну вот подумай при помощи того чем ты ешь зачем вообще придумал такое ключевое слово как const
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #199 Ответы: #202

201. Сообщение от Аноним (14), 31-Янв-26, 17:15   –2 +/
Ты от даже близко не врубаешся в суть дела. Тебе в новости кинули кость, которая даже в сабже не обсуждалась особо, но ты конечно уже сделал далеко идущие выводы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #198 Ответы: #204

202. Сообщение от Аноним (102), 31-Янв-26, 17:17   +/
>> Раскрой, пожалуйста, свою мысль
> Ну вот подумай при помощи того чем ты ешь

Не, в общем, понятно: конструктивного диалога с тобой не получится, и ты и дальше будешь продолжать вилять. Продолжай ставить минусы, что ж еще тебе остается...

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

203. Сообщение от Аноним (203), 31-Янв-26, 17:19   +/
Это имеет смысл, если именовать константы осмысленно. Типа коэффициент умножения на два, поэтому назовем TWO_TIMES_MORE=2 и напишем x = TWO_TIMES_MORE * 2. А когда EIGHT=8 - это бред сивой кобылы, раздувающий текст кода, уменьшающий читабельность текста и потенциальная бага.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

204. Сообщение от Аноним (102), 31-Янв-26, 17:21   +/
>> Ты по сути обсуждения скажешь что-то содержательное?
> Ты от даже близко не врубаешся в суть дела.

Понятно: ничего содержательного не будет. Подолжай пускать пыль в глаза и пытаться меня в чем-то обвинить. 👍

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

205. Сообщение от Ононизмус (?), 31-Янв-26, 17:28   +/
Ты вообще не понял сути моего коммента - перечитай и вдумайся
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #193 Ответы: #209

206. Сообщение от Аноним (102), 31-Янв-26, 17:33   +1 +/
> Было бы оно умнее, оно бы написало просто

Ну да, а printf() регистры типа не спользует и ему edi не нужен?

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

207. Сообщение от Аноним (102), 31-Янв-26, 17:49   +/
>> Ты ноль тоже пишешь константой ZERO вместо 0. Ну а че, явно же указано, что ноль хотел вернуть, а не просто отвлекся и нажал 0.
> Ну ты же пишешь nullptr вместо 0. Пишешь же?

Ты, по-моему, не уловил намек. Ок, перефразирую:

Ты 8 тоже пишешь константой EIGHT вместо 8. Ну а че, явно же указано, что восемь хотел вернуть, а не просто отвлекся и нажал 8.

Так понятнее? Прямо как в сабже.

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

208. Сообщение от Аноним (208), 31-Янв-26, 17:56   +/
Рассказывать по эмоциональный разум вечным критиканам это немного наивно. Они мозгоеды и съедят мозг каждого, кто не делает все "как надо" по инструкции. Инициатива наказуема. Люди читать не любят. Это его патч. Вы можете принять код только, ведь никто не заставляет принимать инструкцию. Да он там хоть добавит "С любовью, Жорик" - это его патч, а не их проект, где он им подчиняется напрямую, потому что у них отношения начальник - подчиненный. У чуваков из ffmpeg раздутое самомнение им шиза прогрессирует. Этих психов из ffmpeg надо к психологу или изолировать от здоровых людей. На конечный скомпилированный код это никак не влияет. А то, если они правы, значит комментировать код тоже абсолютно ненужно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #225

209. Сообщение от Аноним (194), 31-Янв-26, 18:24   +/
> Ты вообще не понял сути моего коммента - перечитай и вдумайся

ну, а где пояснения? поясни суть, давай, и ответь мне на такой вопрос, с какого это бодуна я не имею право определить 8 (числовой литерал) как const int EIGHT = 8;, избыточно по памяти? так это мое дело, выделять или нет, за оптимальность топите? Или с какого бодуна я не имею право определять 8 как макро определение #define EIGHT 8? А тут что? зачем восьмерку называть восьмеркой? Да эту восьмерку как хочу так и называю - обфускация называется - в чем проблема?

//ru.wikipedia.org/wiki/Обфускация_(программное_обеспечение)

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

210. Сообщение от Аноним (194), 31-Янв-26, 18:26   +/
> Что магического в EIGHT? Мы же не пифагорейцы, чтобы сакрализировать числа. )
> Имя для того и имя, что бы пояснять назначение.

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

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

211. Сообщение от Аноним (194), 31-Янв-26, 18:30   +/
> А просто определить "восемь" как 8 - это мог только Искусственный Тупица.

Это const int EIGHT = 8; не определение "восьмерки", это выделение памяти под значение "восемь".

А это #define BYTE_LENGTH 8, всего лишь замена одной синтаксической конструкции на другую.

И где тут определение? И кто тупица?

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

212. Сообщение от premium user (?), 31-Янв-26, 19:12   +/
А самому посмотреть - слабо? Это не я позорюсь, в какой-то момент дискуссия превратилась в метание бисера перед свиньями, так что на этом исправленном примере закончу. 2 против 3х сложений как я и говорил, в коде идентичном по результату работы.

void slow_coder_write(u8 *src, u8 *dst, int n) {
    for(int i = 0; i < n; i+=3) {
        dst[i] = src[i];
    }
}

void fast_coder_write(u8 *src, u8 *dst, int n) {
    for(u8 *s = src, *d = dst, *e = s + n; s < e; s+=3, d+=3) *d = *s;
}

slow_coder_write(unsigned char*, unsigned char*, int):
        ble     a2,zero,.L1
        li      a5,0
.L3:
        add     a4,a0,a5
        lbu     a3,0(a4)
        add     a4,a1,a5
        addi    a5,a5,3
        sb      a3,0(a4)
        bgt     a2,a5,.L3
.L1:
        ret
fast_coder_write(unsigned char*, unsigned char*, int):
        add     a2,a0,a2
        bgeu    a0,a2,.L6
.L8:
        lbu     a5,0(a0)
        addi    a0,a0,3
        addi    a1,a1,3
        sb      a5,-3(a1)
        bgtu    a2,a0,.L8
.L6:
        ret

> в асм удосужился глянеть

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

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

213. Сообщение от Аноним (-), 31-Янв-26, 19:46   +2 +/
> А это все спецы по шаблонному мышлению виноваты. Мол магические константы в
> коде антипаттерн - выносите определение в именованную константу. Ну чел и
> вынес. Ну и дал самое логичное имя.

Вообще-то имя должно давать хинт "почему тут это". Когда я вижу 8 или EIGHT - я не имею никакого понятия почему тут - столько. А десять - можно? Или шесть? Это будет хорошо или плохо? Что это и на что влияет? Угадайте по такому naming.

Более того. Есть три блока кода. Обеим вот тут катило "eight". Но потом оказалось что вот там лучше 6 а там 10. Мы теперь заведем еще столь же умные константы SIX и TEN и будем их переименовывать каждый раз когда число подкрутить захочется? Гении програмизма...

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

215. Сообщение от Аноним215 (?), 31-Янв-26, 21:11   +/
Сумма углов треугольника 180 градусов, это всего 1 пи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140 Ответы: #223

216. Сообщение от Аноним (216), 31-Янв-26, 22:22   –1 +/
> const int EIGHT = 8

ИИ мне всё рассказал!

Зачем это нужно?
Вместо того чтобы в коде многократно использовать «магическое число» 8, программист создаёт понятно названную константу. Это делает код:

    Более читаемым: if (width < EIGHT) понятнее, чем if (width < 8) (например, 8 может быть размером байта, количеством бит, специфическим ограничением системы).

    Более удобным для изменений: если значение нужно поменять на 10, это делается в одном месте (в объявлении константы), а не во всех местах, где используется число 8.

    Более безопасным: предотвращает случайное изменение этого значения в процессе выполнения программы.

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

217. Сообщение от Кошкажена (?), 31-Янв-26, 22:50   +/
> Включение инструкции по настройке среды - это не "бред", а проявление заботы о репликации сборки.

Команда "pacman установи gcc и make внезано стала репликацией сборки". Дожили... git и есть репликация, если надо документацию добавить, то создай рядом файл README и сопровождай (не забывай менять). Хочется спустится глубже? nix окружение к вашим услугам. Правильно его мокрыми тряпками закидали.

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

218. Сообщение от Аноним (223), 31-Янв-26, 23:55   +/
Спасибо, кэп. Я каждый день читаю ассемблерные листинги и знаю, что это только смещение (например [rcx+0c]), так что все равно цифра. )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #210 Ответы: #222

221. Сообщение от Аноним (223), 01-Фев-26, 00:02   +/
Он найдет инструкцию, работающую с этой локацией, и встроит дебаг вставку.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #194 Ответы: #227

222. Сообщение от Аноним (194), 01-Фев-26, 00:14   +/
> так что все равно цифра.

ну и чем вы не пифагореец тогда? Цифра (представление числа) сама по себе никакой информации о числе не несет, нужна та самая сакрализация, чтобы 8 (цифру, символ и т.д.) принять за "ячейку", хранящее само число. Говорят чисел в природе не существует - бред. Числа имеют квантовую природу (квантовый объект), которую мы еще не познали.

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

223. Сообщение от Аноним (223), 01-Фев-26, 01:02   +/
А какое отношение это пи имеет к числу Пифагора? пи равно половине числа Пифагора. )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #215

224. Сообщение от Аноним (223), 01-Фев-26, 01:17   +/
Число для физика это одно. Число для математика это другое. Я не углублялся в философию пифагорейцев, но думаю что они сакрализировали их как средство познание и восприятие мира. Отдельные числа были особенные в их системе (и заслуживали иметь имя и статус имени переменной). )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #222 Ответы: #228

225. Сообщение от Аноним (223), 01-Фев-26, 01:24   +/
>На конечный скомпилированный код это никак не влияет.

Поддерживать то им потом. Слова влияют на прочитавшего их.

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

226. Сообщение от Аноним (226), 01-Фев-26, 01:38   +1 +/
Кстати, а где амд'шная еррата? Власти скрывают.
Когда интеловский микрокод правил явные детские болезни? Кроме хасвела то ничего и не вспоминается.
Когда контроллер памяти у интела был кастрирован на пол скорости?
А порты усб и пси-е5 у них тоже через усилок идут?
Да чтото как-то нет.
И вот эта костыльность отталкивает.
Да интел с недоядрами натворил дичи но эта дичь хоть just works а с амд'шным по ухабов аля "неотсвечивающий лежачий полицейский на гоночном треке" слишком много.

А сгорание проца - у меня есть в рабочем виде p3-1000, p4d915, 860, 2600, 4770, 8600, n150 и 265 - если задрать им напругу они что-то не сгорают(а гнал я их под 60%) а Рязань что-то плавится.
Не должно микросхеме от лишнего ватта сгорать, а если сгорает то негодная это вещь, покупки недостойная. имхо

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

227. Сообщение от Аноним (194), 01-Фев-26, 01:59   +/
RO - read only
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #221 Ответы: #245

228. Сообщение от Аноним (194), 01-Фев-26, 02:06   +/
> Число для физика это одно. Число для математика это другое.

:) ну да, человек еще не понял, что физика это раздел математики.

> Я не углублялся в философию пифагорейцев, но думаю что они сакрализировали их как средство познание и восприятие мира.

Если природа квантовая, то как раз числа и есть ее описание и с чего бы им не быть "сакральными" если они есть суть бытия всея.

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

"переменной" - это надо сказать тому кто считает, что "восьмерку" назвали "восьмеркой" (const int EIGHT = 8; 2.139, Ононизмус (?), 00:40, 31/01/2026), а не переменную, которая может хранить любое значение (const int EIGHT = 9;)

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

229. Сообщение от Аноним (162), 01-Фев-26, 05:10   +/
> в какой-то момент дискуссия превратилась в метание бисера перед свиньями

Ну и шёл бы на... телевидение. По стопам Дениса Попова*. Надо раскрыть талант (не ценят здесь - оценят там). Показать миру истинную экспертность. Его в своё время так же распирало.

Нашёл микрооптимизацию для strided memcpy под RV32, записал её так, что пропустил ошибку, сделал вывод - все ошибались, надо менять счётчики на указатели. Юношеский максимализм - он такой. Осталось найти UB (создание указателя за первый байт после объекта), узнать про restrict (который здесь выстрелит при авто- разворачивании цикла и векторизации) и подумать, как в других языках пишут код на уровне Си или быстрее без кулхацкерских однострочников - в фортране почему-то решили полноценные массивы в языке сделать, а не чаще напирать на указатели. И ещё через N лет понять - им было не плевать на производительность, они про мои некорректные обобщения и правильность приоритетов говорили.

* www.youtube.com/watch?v=KUc6QGREUIY

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

230. Сообщение от Аноним (230), 01-Фев-26, 06:19   +/
PI нетривиальная константа с реюзом.

А вот методы API, которые я реверсил и которые меня заставляли от функций, вызывающих по HTTP эти API переносить на самый верх файла - это one-shot константа, которую делать константой в традиционном смысле этого слова бьёт по читаемости. Это как если бы сейчас судиться за невыполнение того самого неотменённого декрета СССР, по которому гражданин обязан предоставить домашний телефон в пользование по требованию. И, самое главное, тимлиду, что это потребовал, ты ничего не предъявишь, потому что он тимлид.

Константа EIGHT из той оперы.

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

231. Сообщение от Аноним (230), 01-Фев-26, 06:24   +/
А мог бы сделать int bitness и не мучить пальцы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #159

232. Сообщение от Аноним (230), 01-Фев-26, 06:27   +/
Беги, восстанавливаться после выгорания месяцев пять займёт минимум.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

233. Сообщение от Аноним (230), 01-Фев-26, 06:30   +/
И правда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #186

234. Сообщение от Аноним (-), 01-Фев-26, 07:03   +/
> Недавно разбирал задания по физике для продвинутых детей. В комментариях было указано - для расчетов ускорение свободного падения на Земле g взять равным 10.

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

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

235. Сообщение от Аноним (235), 01-Фев-26, 07:10   +/
> Включение инструкции по настройке среды - это не "бред", а проявление заботы о репликации сборки.

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

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

236. Сообщение от Аноним (162), 01-Фев-26, 07:57   +/
> Копаться в косяках компиляторов мне не интересно

Тебя ещё ждёт приятный сюрприз с числом сложений у Clang, когда в сравнении указателей "меньше" заменишь на "не равно" (переполнение совсем невозможно на 64-битных архитектурах, но в других случаях не совсем).
https://godbolt.org/z/vcY541bx7

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

237. Сообщение от Аноним (237), 01-Фев-26, 11:05   +/
Скоро драйвера будут вайбкодить так, и каждый билд весь код переписывается.
Ответить | Правка | Наверх | Cообщить модератору

239. Сообщение от Ilya Indigo (ok), 01-Фев-26, 15:57   +/
Меня цена на мини ПК Firebat A8 с 8745HS/780M очень даже устроила пол года назад.
А то что их линейка AI - это шлак это было ещё год назад ясно, но это не отменяет заслуг прошлых линеек.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

241. Сообщение от Кошкажена (?), 01-Фев-26, 22:54   +/
>>Недавно похожий случай был. Один рецензент покритиковал мой код. Ему не понравилось, что раскиданные по двухэкранному с пятью уровнями вложенности счетчики цикла имеют очень короткие и неинформативные, с его точки зрения, имена - i, j, k.

С i, j, l один минус, что они могут сливаться для глаза при усталости. Даже с нормальными шрифтами.

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

242. Сообщение от Кошкажена (?), 01-Фев-26, 23:02   +/
> ничего вы не понимаете!
> надо const int BOCEMb = 8;

const int BOCEMb = 8; /* KPACUBO! */

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

243. Сообщение от fidoman (ok), 01-Фев-26, 23:42   +/
> b и c определены как указатели. Вы что хотели показать? Что в
> одно локации существут три значения одновременно? Так мошеннический трюк для новичков
>  у Вас не прошел.

Просто показать как оптимизация происходит без участия каких-либо сегментов.
В чём тут трюк?
Причём значение в локации одно, что и проверяется третьей переменной - только вот при обращении к константе оно не используется

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

244. Сообщение от fidoman (ok), 01-Фев-26, 23:55   +/
> И чего ты просто написал овнокод с магическими переменными. И даже в
> нём уже невозможно разобраться. Автор сабжевого патча хотя бы в именование
> переменных умеет четкое. И он явно указывает что ждёт от конста,
> а не надеется на поведение компилятор в конкретном случае.

Вы тот же самый аноним который утверждал о необходимости "особого сегмента для сверхоптимизации" или уже другой?
Номера бы вы себе присваивали какие-нибудь, что ли...

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

245. Сообщение от Аноним (245), 02-Фев-26, 00:13   +/
Да я сразу понял, что "только для чтения". Патч перехватывает легальную инструкцию и загружает в регистр для обработки другое число и передает управление штатному коду для обработки подмененного значения.. Если Вы сразу это не поняли, я думаю не стоит вести эту беседу. Ещё нюансы, разрушающие Ваши абсолютные надежды на аппаратную защиту RO я упущу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #227 Ответы: #247

247. Сообщение от Аноним (194), 02-Фев-26, 01:01   +/
> Патч перехватывает легальную инструкцию и загружает в регистр для обработки другое число и передает управление штатному коду для обработки подмененного значения.

патч перехватывает и исполняет свой код, полезть и перезаписать код в секции кода или в секции ro как он это будет делать?

> Ещё нюансы, разрушающие Ваши абсолютные надежды на аппаратную защиту RO я упущу.

давайте, в студию.

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

248. Сообщение от LaunchWiskey (ok), 02-Фев-26, 02:27   +/
А я тоже всегда пишу тире, как тире, а не дефисами. Выходит — я ИИ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115

249. Сообщение от Sm0ke85 (ok), 02-Фев-26, 09:20   +/
>Какой вайбкодинг?
>4 года назад еще никакого вайбкодинга не было.

А ты я так понял про "левые отмазки" ничего не слышал...? Не советую тебе с цыганами заговаривать, да и на базар один не ходи...

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


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

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




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

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