Компиляторное внезапное
Feb. 6th, 2019 08:29 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Скачал триал-версию компилятора от 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, пожалуй, закрыт.
Во-первых, разница между 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, пожалуй, закрыт.
no subject
Date: 2019-02-06 06:21 pm (UTC)no subject
Date: 2019-02-06 06:24 pm (UTC)no subject
Date: 2019-02-06 06:24 pm (UTC)И gcc какой - свежий (8.2, 7.4) или древний?
no subject
Date: 2019-02-06 06:27 pm (UTC)no subject
Date: 2019-02-06 06:37 pm (UTC)Попробуй сравни с последним, который в текущей не-LTS убунте или Debian Testing.
И с 7.3 который в текущем LTS. Не зря же они сейчас первую цифру в версии меняют.
no subject
Date: 2019-02-06 06:43 pm (UTC)no subject
Date: 2019-02-06 06:45 pm (UTC)no subject
Date: 2019-02-06 06:45 pm (UTC)Сколь я помню, не впечатлило.
Но можно еще раз попробовать.
no subject
Date: 2019-02-06 06:46 pm (UTC)То есть вплоть до того, что апстрим постгреса вынужден был некоторые ворнинги поотключать. Иначе слишком много пришлось бы возиться с чисткой кода.
no subject
Date: 2019-02-06 06:49 pm (UTC)no subject
Date: 2019-02-06 07:17 pm (UTC)Поэтому у меня сейчас warning free начиная с 6-й. Ну и clang тоже - у него паранойя в другую сторону.
Заодно в процессе выучил какие модификаторы форматов нужно использовать для печати size_t и прочих интересных типов, чтобы warning-ов не было ни на 32, ни на 64 битных платформах. Вот бы еще визуалковый ворнинги победить...
no subject
Date: 2019-03-02 03:44 am (UTC)no subject
Date: 2019-03-02 06:09 am (UTC)no subject
Date: 2019-02-06 09:40 pm (UTC)no subject
Date: 2019-02-07 05:39 am (UTC)no subject
Date: 2019-03-02 03:42 am (UTC)