Firefox скомпилировали с помощью GCC и Clang и сравнили производительность

Clang — это альтернатива главному компилятору в Linux — GCC. Разрабатывается при участии Apple и Google. Наверное, компилятор генерирует эффективнейший бинарный код, который работает быстрее кода, сгенерированного GCC. Проблема в том, что до сих пор не было возможности это проверить. И вот Firefox научили собираться с Clang. Время тестов!

Результаты посрамили Apple и Google и заставляют задуматься: а так ли уж хороши тамошние программисты?

По-первых, бинарный код, продуцируемый Clang, оказался заметно больше по объему. Эксперты уверены, что GCC лучше оптимизирует и удаляет те участки программы, для которых еще на этапе компиляции известно, что они не получат управление.

Производительность Clang на примере Firefox

Во-вторых, по производительности Clang тоже проигрывает. Правда, не текущей версии, а GCC 8. Но этот результат оставляет Clang в роли догоняющего. GCC рулит!

GCC vs Clang
field_vote: 
Ваша оценка: Нет Средняя: 4.6 (7 оценки)
Дистрибутивы: 
Названия программ: 
Программное обеспечение: 

Комментарии

В достоинства Clang: 1. Умеет парсить и анализировать любой исходный код на языках семейства С (C, C++, ObjectiveC, и т.п....) и имеет модульную структуру, которая делает его простым в использовании; 2. Отлично документирован, что не маловажно для начинающих;3. В AST работать гораздо проще, чем с исходным кодом, но почти всегда можно получить ссылки на исходник. Фактически, каждая структура в Clang-е, используемая для представления кода (AST, CFG и т.п.), всегда имеет ссылку на оригинальный исходник, полезный для целей анализа, рефакторинга и т.п. 4. Как прямая замена gcc, Clang предлагает несколько неплохих инструментов статического анализа.

Оценка: 
Средняя: 5 (1 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.