Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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



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

"Однострочное изменение в GCC привело к ускорению на 12% в одном тесте и замедлению на 14% в другом"  +/
Сообщение от opennews (??), 24-Июн-26, 19:03 
Инженер из компании Intel внёс в набор компиляторов GCC однострочное изменение, увеличивающее вес неверного предсказания ветвления на процессорах x86. Изменение позволило повысить производительность генерируемого кода при прохождении теста 544.nab_r  на  12.7% при включении в  оптимизаций "-O2 -mtune=graniterapids" для CPU Intel Granite Rapids/Xeon 6 и на 12.1% при включении в оптимизаций "-O2 -mtune=znver5" на CPU AMD Zen5...

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

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

Оглавление

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


2. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  –13 +/
Сообщение от Аноним (2), 24-Июн-26, 19:14 
Инженер из интел ускорил интел и замедлил амд? It's fine.
Ответить | Правка | Наверх | Cообщить модератору

3. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +24 +/
Сообщение от Аноним (3), 24-Июн-26, 19:17 
Вы хоть осильте прочитать то, "комментаторы".
Ответить | Правка | Наверх | Cообщить модератору

4. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +3 +/
Сообщение от Аноним (2), 24-Июн-26, 19:20 
-mtune=znver5

what seems to be the officer, problems?

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

8. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Rev (ok), 24-Июн-26, 19:24 
А ещё замедлило и дженерик x86:
-mtune=generic -march=x86-64-v3
Ответить | Правка | Наверх | Cообщить модератору

21. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +4 +/
Сообщение от Аноним (21), 24-Июн-26, 21:07 
> А ещё замедлило и дженерик x86

Какое необычное нововведение от инженера интела!

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

24. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (3), 24-Июн-26, 21:10 
А вы представитель сообщества и уже предложили свои изменения ?
Думали комментарием отделаться, нет уж идите пишите!
Ответить | Правка | Наверх | Cообщить модератору

44. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (44), 25-Июн-26, 12:22 
Предложили: не ломать работающее.
Ответить | Правка | Наверх | Cообщить модератору

5. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (5), 24-Июн-26, 19:20 
Но именно это там и написано.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

6. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (6), 24-Июн-26, 19:21 
Нет
Ответить | Правка | Наверх | Cообщить модератору

22. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (21), 24-Июн-26, 21:08 
... на 30% медленнее при сборке с опциями "-march=generic -mtune=znver5"
Ответить | Правка | Наверх | Cообщить модератору

29. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (6), 24-Июн-26, 23:02 
Читайте внимательнее. Ускорило intel и amd в одном тесте + замедлило intel и amd в другом.
Ответить | Правка | Наверх | Cообщить модератору

48. "-"  +/
Сообщение от Аноним (21), 25-Июн-26, 15:58 
Ускорило на 12, замедлило на 30 :) В среднем - ухудшило результаты.
Ответить | Правка | Наверх | Cообщить модератору

52. "-"  +/
Сообщение от mickvav (?), 25-Июн-26, 20:28 
А средняя температура по больнице, с учетом морга, не изменилась
Ответить | Правка | Наверх | Cообщить модератору

34. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (-), 25-Июн-26, 03:46 
и "-march=generic -mtune=graniterapids"
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

7. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (3), 24-Июн-26, 19:23 
Повышение для CPU Intel Granite Rapids/Xeon 6 на 12.7%
Повышение на 12.1% при включении в оптимизаций на CPU AMD Zen5
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

9. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (2), 24-Июн-26, 19:39 
это для теста 544.nab_r, прочитайте про тест Hint в третьем абзаце
Ответить | Правка | Наверх | Cообщить модератору

11. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  –1 +/
Сообщение от Аноним (3), 24-Июн-26, 19:48 
Да я всё прочитал и заголовок и четыре абзаца текста.
Ответить | Правка | Наверх | Cообщить модератору

18. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (2), 24-Июн-26, 20:59 
тогда в чём претензии к тому, что амд замедлился?
Ответить | Правка | Наверх | Cообщить модератору

31. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (31), 25-Июн-26, 00:01 
Просто он тоже инженер Intel
Ответить | Правка | Наверх | Cообщить модератору

10. "Комментарий"  +3 +/
Сообщение от Аноним (10), 24-Июн-26, 19:48 
Да, автор изначального комментария не прочитал текст полностью, но я в голосину проорал с его комментария
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

14. "Комментарий"  +1 +/
Сообщение от Аноним (14), 24-Июн-26, 20:37 
Автор читал оригинальную переписку. Проблема обнаружилась на AMD, где представитель компании ответил, что они OK с этим.
Ответить | Правка | Наверх | Cообщить модератору

36. "Комментарий"  –1 +/
Сообщение от Аноним (36), 25-Июн-26, 08:02 
Ну с одной стороны - это даже по-корпоратски логично.
С другой - а где представители амд с ихними фиксами?
Ответить | Правка | Наверх | Cообщить модератору

19. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (21), 24-Июн-26, 21:06 
> на 30% медленнее при сборке с опциями "-march=generic -mtune=znver5"
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

13. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от хрю (?), 24-Июн-26, 20:33 
>struct processor_costs i386_cost = {    /* 386 specific costs */
>struct processor_costs i486_cost = {    /* 486 specific costs */
>struct processor_costs pentium_cost = {

Внушает +)))

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

17. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +4 +/
Сообщение от Аноним (17), 24-Июн-26, 20:56 
> Внушает +)))

Да не, там еще и высокоуровневые оптимизации есть, правда на диалекте лиспа:


/* Optimize (X + (X >> (prec - 1))) ^ (X >> (prec - 1)) into abs (X).  */
(simplify
(bit_xor:c (plus:c @0 (rshift@2 @0 INTEGER_CST@1)) @2)
(if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
      && !TYPE_UNSIGNED (TREE_TYPE (@0))
      && wi::to_widest (@1) == element_precision (TREE_TYPE (@0)) - 1)
  (abs @0)))

и высокоуровневое описание железок на нем же:
https://github.com/gcc-mirror/gcc/blob/master/gcc/config/gcn...
https://github.com/gcc-mirror/gcc/blob/master/gcc/config/arm...
и промежуточные представления типа GIMPLE и RTL с оптимизацией там же.

Вот на этом фоне особенно з̵а̵б̵а̵в̵л̵я̵ю̵т̵ внушают классические опеннетные разглагольствования на тему "сишечка потому и быстрая, потому что простая и любой настоящий ш̵о̵т̵л̵а̵н̵д̵е̵ц̵ погроммист может предсказать геренируемый машинный код!" 😀

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

54. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от didok (?), 25-Июн-26, 21:03 
Хорошее чувство юмора назвать препроцессорный ад диалектом Самого-Самого.
Ответить | Правка | Наверх | Cообщить модератору

59. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (59), 27-Июн-26, 12:25 
не могли бы Вы растолковать, к чему эта отсылка?
Ответить | Правка | Наверх | Cообщить модератору

20. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (3), 24-Июн-26, 21:07 
https://en.wikipedia.org/wiki/GNU_Compiler_Collection#Archit...
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

23. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +2 +/
Сообщение от Bottle (?), 24-Июн-26, 21:09 
То есть аппаратура стала настолько сложной, что в ней неспособны досконально разобраться даже штатные инженеры?
Как мы должны читать эту новость?
Ответить | Правка | Наверх | Cообщить модератору

25. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +3 +/
Сообщение от Ivan_83 (ok), 24-Июн-26, 21:35 
Проблема в том что процессоры сильно разные, и что на одном даёт ускорение на другом приводит в замедлению.
В итоге авторы софта если совсем упарываются то могут кучу оптимизированных версий кода иметь под разные процы, а авторы компиляторов стараются делать как в среднем лучше.
Ответить | Правка | Наверх | Cообщить модератору

27. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от Аноним (21), 24-Июн-26, 22:13 
> стараются делать как в среднем лучше

В итоге видим бенчи, в которых интел - быстрые, а амд - медленные.

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

30. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +4 +/
Сообщение от Ivan_83 (ok), 24-Июн-26, 23:59 
Ага, особенно эпичной была история с бенчами на проце VIA, который позволял выдавать что угодно в CPUID, в итоге один и тот же бенч когда проц был "интол" работа быстрее, а когда "амудэ" то медленее.
Но всё конечно ради потребителей было сделано, ибо оптимизированный код был протестирован только на интелах, поэтому для остальных выполнялся generic код...
Ответить | Правка | Наверх | Cообщить модератору

51. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (51), 25-Июн-26, 17:39 
Так там и интеловские процы разные и опции под каждый проц. А в итоге не хотят писать опции под каждый проц и добавляют "+3" при развёртывании макроса (хз, может там и не макрос, но не суть).

ИМХО, следующая новость будет о том, что надо ввести ещё один макрос, в котором это "+3" будет учтено для правильных случаев/архитектур.

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

26. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +2 +/
Сообщение от Аноним (21), 24-Июн-26, 22:11 
> неспособны досконально разобраться даже штатные инженеры

Да, эта тенденция возникла достаточно давно уже.

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

32. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +2 +/
Сообщение от Аноним (32), 25-Июн-26, 00:04 
> То есть аппаратура стала настолько сложной, что в ней неспособны досконально разобраться даже штатные инженеры?

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

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

47. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Талгатemail (?), 25-Июн-26, 15:37 
вы должны были это понять наверное со времен титаника.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

53. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +1 +/
Сообщение от mickvav (?), 25-Июн-26, 20:31 
Там как бы нет мотивации на то, чтобы разбираться всерьез, с одной стороны, и есть мотивация не особо афишировать доступ к документам, позволяющим реально разобраться - с другой.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

28. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +2 +/
Сообщение от Tron is Whistling (?), 24-Июн-26, 22:37 
> имеется только одна условная конструкция, преобразуемая GCC в представление на базе CMOV. Данная конструкция выполняется достаточно редко (в 3%) и её оптимизация не влияет на производительность. При этом изменение режима генерации кода привело к побочному эффекту, замедлившему выполнение более часто выполняемого кода

Если проще: ускорение одной конструкции, характерной для одного теста, привело к замедлению всех остальных, и вылезет где попало. Вот такие "оптимизации" надо выпиливать не глядя.

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

35. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (35), 25-Июн-26, 07:48 
Что пора новые процессоры покупать?
Ответить | Правка | Наверх | Cообщить модератору

55. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (55), 25-Июн-26, 22:17 
Мне пока 12900К за глаза хватает. Вот память не вовремя поднялась в цене. Ее бы на 8000 Мгц заменить стоило бы. Приходится на 64 гигах торчать,а память тоже помогает в быстродействии.
Ответить | Правка | Наверх | Cообщить модератору

38. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (38), 25-Июн-26, 09:09 
А если "включить" голову и, невзирая на боль, подумать, то можно уяснить, что регресия наблюдается в тестах на скорость компиляции исходных кодов, что не отменяет результирующего прогресса в скорости выволнения сгенерированного кода. Это вполне логично. Если мы запускаем, например, архиватор с максимальной степенью компресии, то в скорости сжатия у нас будет регрессия, а в уменьшении размера полученного архива - прогрессия. Но и код мы компиоируем не для скорости этой компиляции, а для скорости работы этого кода, так же как и сжатие архивов мы делаем для уменьшения размера этих архивов.
Ответить | Правка | Наверх | Cообщить модератору

50. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (55), 25-Июн-26, 17:30 
Гентушники не согласятся. Сколько будет браузер компилироваться с зависимостями имеет значение. Это из ядра можно выкинуть лишнее, а из браузера браузерный движок не выкинешь. Собирать два часа или собирать три часа это все же разница.
Ответить | Правка | Наверх | Cообщить модератору

56. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (38), 26-Июн-26, 14:24 
Но собирают не для того чтобы собрать за два часа, а для того чтобы потом хорошо (быстро) работало...
Ответить | Правка | Наверх | Cообщить модератору

58. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (58), 26-Июн-26, 18:55 
Быстро работать оно будет уже с низким потреблением вероятно, если нужна реакция, а не общая производительность. Это ведь тоже важно, а то можно на малых ядрах код собирать, чтобы меньше электричества тратить. И да, такой вариант вполне адекватный. Большие ядра в работе, а малые компилируют. Это ведь не значит что компилировать пусть с половиной скорости это так уж важно. А то можно дойти до фермы на каких-нибудь атомах, которые будут код собирать на малых частотах и роутер превратится в сборочный сервер.
Ответить | Правка | Наверх | Cообщить модератору

39. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (39), 25-Июн-26, 10:52 
А, неважно! Главное, что задачки в системе закрываются и работа работается.
Ответить | Правка | Наверх | Cообщить модератору

41. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (41), 25-Июн-26, 11:09 
Конечно неважно. Иначе мы бы всегда имели топовое оборудование, сделанное в текущем году, а не сидели на 10 летнем старье и в х. не дули.
Ответить | Правка | Наверх | Cообщить модератору

43. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (43), 25-Июн-26, 11:56 
> тест "Hint" стал выполняться у одного из разработчиков GCC на 30% медленнее
> в коде теста Hint ... конструкция выполняется достаточно редко (в 3%) и её оптимизация не влияет на производительность.
> При этом изменение режима генерации кода привело к побочному эффекту, замедлившему выполнение более часто выполняемого кода.

Вывод неправильный? Наоборот, замедлился редко выполняемый код? И, надо полагать, ускорился часто выполняемый. Значит фикс всё-таки хороший?

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

49. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (21), 25-Июн-26, 16:00 
> Значит фикс всё-таки хороший?

Хороший, но "на 30% медленнее"

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

46. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Аноним (46), 25-Июн-26, 14:07 
Это ускорение - чьё надо ускорение, поэтому вопросов быть не должно?
Ответить | Правка | Наверх | Cообщить модератору

57. "Однострочное изменение в GCC привело к ускорению на 12% в од..."  +/
Сообщение от Халявщик не корпорастemail (?), 26-Июн-26, 15:33 
- поэтому вопросов быть не должно?

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

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

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

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




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

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