beldmit: (Программизм)
[personal profile] beldmit
Скачал триал-версию компилятора от Intel. В своё время на криптокомовском коде он давал прирост производительности раза в два (без учёта асемблерных вставок, которые шансы выравнивали). Одновременно скачал компилятор от AMD и устроил недобенчмарк на том, что под руку попалось — машинка с AMD-шным процессором и машинка с Intel ATOM. Результат меня удивил.

Во-первых, разница между icc, aocc и gcc на новом хеше оказалась пренебрежимо малой, а на Intel-овом процессоре так даже в пользу gcc. Лёша Дегтярёв в своё время код оптимизировал неплохо.

Во-вторых, по подписи AMD-шный компилятор оказался быстрее процентов на 10 (на нашей арифметике), чем gcc, на обеих архитектурах, а Intel неожиданно отстал фатально даже от gcc на AMD-шных процессорах и пришёл ноздря в ноздрю c aocc на Intel-овом.

В-третьих, по шифру (который «старый» ГОСТ) AMD-шный компилятор быстрее gcc на 12% на AMD и примерно одинаков на Intel.

В-четвёртых, AMD-шный профайлер (который CodeXL) отказался показывать мне, что за код генерит AMD-шный компилятор, что отдельно смешно.

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

Предыдущая запись про сравнение компиляторов.

Update: Максим Дунин убедил меня, что скорее всего это эффект нового clang по сравнению с не новым gcc, но вопрос о целесообразности компилятора от Intel, пожалуй, закрыт.

Date: 2019-02-06 06:21 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
А clang? Почему его в сравнение не включили?

Date: 2019-02-06 06:24 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
А clang? Почему его в сравнение не включили?

И gcc какой - свежий (8.2, 7.4) или древний?

Date: 2019-02-06 06:37 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
То есть который в текущем Debian stable.
Попробуй сравни с последним, который в текущей не-LTS убунте или Debian Testing.
И с 7.3 который в текущем LTS. Не зря же они сейчас первую цифру в версии меняют.

Date: 2019-02-06 06:45 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
Ну прежде чем решать, нужен ли несвободный компилятор, надо найти лучший из свободных, чтобы с ним сравнивать.

Date: 2019-02-06 06:45 pm (UTC)
nasse: (Default)
From: [personal profile] nasse
Где-то в ноябре beldmit игрался в тестинг.
Сколь я помню, не впечатлило.
Но можно еще раз попробовать.

Date: 2019-02-06 06:46 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
Меня зато впечатлило, насколько активнее 8-я версия начала хватать программиста за руку на предмет неаккуратного кода.

То есть вплоть до того, что апстрим постгреса вынужден был некоторые ворнинги поотключать. Иначе слишком много пришлось бы возиться с чисткой кода.
Edited Date: 2019-02-06 06:47 pm (UTC)

Date: 2019-02-06 07:17 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
А я ее уже произвел. Правда, остались ворнинги в древних компиляторах - у меня самый старый из поддерживаемых дистрибутивов SLES11, там 4.3. Там не почистишь так просто, так как в составе дистрибутива идет версия bison, которая не умеет генерировать warning-free code и версия python, хидеры которой полны warning-ов.

Поэтому у меня сейчас warning free начиная с 6-й. Ну и clang тоже - у него паранойя в другую сторону.

Заодно в процессе выучил какие модификаторы форматов нужно использовать для печати size_t и прочих интересных типов, чтобы warning-ов не было ни на 32, ни на 64 битных платформах. Вот бы еще визуалковый ворнинги победить...


Date: 2019-03-02 03:44 am (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
У меня не получалось на gcc 5/последнем sunpro избавиться от всех предупреждений от обоих компиляторов - они просто конфликтовали между собой.

Date: 2019-03-02 06:09 am (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
sunpro у меня нет. Хотя может и зря. Но у меня спарк древний и слабенький.

Date: 2019-02-06 09:40 pm (UTC)
nasse: (Default)
From: [personal profile] nasse
так тебенадо новый gcc, или как?

Date: 2019-03-02 03:42 am (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
С учётом того, как они начали поступать с UB, разработчиков GCC пустили бы на колбасу, не начни они выдавать больше предупреждений. Так это хоть чуть-чуть морально компенсирует поведение в стиле "программист не должен делать ошибок".

Profile

beldmit: (Default)
Dmitry Belyavskiy

May 2025

S M T W T F S
    123
45678910
11121314151617
181920212223 24
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 13th, 2025 08:28 pm
Powered by Dreamwidth Studios