LINUX.ORG.RU

Тихо и незаметно Clang сравнялся с GCC

 , , , ,


1

9

Подъехали свежие бенчмарки: https://www.phoronix.com/scan.php?page=article&item=gcc7-clang4-jan&n...

Ъ:

WINS:
Clang 3.9.1:         12  [25.0%]
Clang 4.0 SVN:       9   [18.8%]
GCC 4.9.4:           7   [14.6%]
GCC 7.0.0 20170108:  7   [14.6%]
GCC 5.4.0:           7   [14.6%]
GCC 6.3.0:           6   [12.5%]

LOSSES: 
Clang 3.9.1:         13  [27.1%]
GCC 5.4.0:           12  [25.0%]
GCC 4.9.4:           7   [14.6%]
GCC 7.0.0 20170108:  7   [14.6%]
Clang 4.0 SVN:       7   [14.6%]
GCC 6.3.0:           2   [4.2%]

В некоторых тестах Цланг сильно отрывается вперёд.

Но и по скорости компиляции тоже, к сожалению?

gag ★★★★★ ()

А в чём конкретно преимущества Clang перед gcc?

ekzotech ★★★★ ()

Молодцы! Составляют неплохую конкуренцию!

reedych ()
Ответ на: комментарий от ekzotech

Лицензия, возможности статического анализа и структура в целом.

Payload ()
Ответ на: комментарий от Payload

Статический анализ там сосет, даже пивас студия лучше справляется.

kirk_johnson ★★ ()
Ответ на: комментарий от kirk_johnson

А на gcc мы, типа, страдаем и вообще жизни не было до Clang? Я в сях плохо шарю, не холивара ради. Мне и вправду интересно.

ekzotech ★★★★ ()

Не знаю, как они генерировали таблицу, но на графиках НИГДЕ нет, чтобы лучший результат шланга был лучше лучшего результата gcc. Так что...

unanimous ★★★★★ ()
Ответ на: комментарий от ekzotech

Да нет, просто через clang некоторые плюшки типа автодополнения делать проще. Ну и лицензия.

kirk_johnson ★★ ()
Ответ на: комментарий от Payload

И clang уже где-то серьёзно используют? В смысле, продакшн, ынтырпрайз и всё такое?

ekzotech ★★★★ ()
Ответ на: комментарий от unanimous

Я не поленюсь и таки сюда запощу:

LAME MP3 Encoding winner: GCC 4.9.4
FFmpeg v2.8.1 winner: GCC 7.0.0 20170108
Caffe v2016-12-29 winner: GCC 6.3.0
Caffe v2016-12-29 winner: GCC 5.4.0
Redis v3.0.1 GET winner: GCC 5.4.0
Redis v3.0.1 SET winner: GCC 7.0.0 20170108
unanimous ★★★★★ ()
Ответ на: комментарий от unanimous

В тестах Stockfish, 7-Zip, ebizzy, в тестах на временя компиляции Clang в топе.

alexferman ()
Ответ на: комментарий от Payload

Оу. Ну круто, буду иметь ввиду, спасибо.

CS50 тоже используют clang, по крайней мере так говорил ведущий. Хотя в инструкции к либе cs50.h используется gcc.

ekzotech ★★★★ ()
Ответ на: комментарий от ekzotech

А в чём конкретно преимущества Clang перед gcc?

LTO и более скурпулёзный анализ кода.

iZEN ★★★★★ ()
Ответ на: комментарий от alexferman

в тестах на временя компиляции Clang в топе.

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

unanimous ★★★★★ ()
Ответ на: комментарий от kirk_johnson

Ну и лицензия

можешь суть тут коротко изложить, и чем отличается от гпл?

Deleted ()
Ответ на: комментарий от ekzotech

И clang уже где-то серьёзно используют?

Сейчас в Mesa/DRI2 для AMD Radeon без LLVM никак.

> pkg info -r llvm37-3.7.1_4
llvm37-3.7.1_4:
	libEGL-11.2.2
	dri-11.2.2,2

iZEN ★★★★★ ()
Ответ на: комментарий от alexferman

Он уже генерирует более быстрый код.

В 10% случаев? Ну-ну. А в скольки процентах он генерирует медленнее?

unanimous ★★★★★ ()
Ответ на: комментарий от iZEN

То есть для ненужно нужно ненужно. Ненужно.

Deleted ()
Ответ на: комментарий от unanimous

Не в 10 процентах, а в 20-25 процентах, в стартовом посте же таблица есть.

alexferman ()
Ответ на: комментарий от kirk_johnson

Архитектурно более вменяем.

С одной стороны так. ghdl, реализуя VHDL-фронтэнд, патчит gcc, а под llvm - просто линкуется. Но есть и emscripten, который js-бэкэнд. И тут... патчим llvm. Жаль. Очень жаль, т.к. это не даёт ему попасть в нормальные дистрибутивы (например, Debian). Интересно, собираются ли там llvm так перерефакторить, чтобы и для бэкэнда можно было просто линковаться.

P.S. Смотрю, emscripten теперь может использовать новый родной llvm бэкэнд WebAssembly. Хорошо для emscripten. Но никаких изменений архитектуры llvm.

gag ★★★★★ ()
Последнее исправление: gag (всего исправлений: 1)

Как я понимаю, собрать систему полностью шлангом без использования GCC пока нельзя?

sudopacman ★★★★★ ()
Ответ на: комментарий от Deleted

Там ещё для intel нужно и при наличии nvidia не откажешься. dri оно и в других карточках работает как бы. Проросло. Так решили линуксятники в X.Org.

iZEN ★★★★★ ()
Ответ на: комментарий от Deleted

Мне откровенно наплевать на твоё личное отношение к AMD или к чему-то другому. Но факт неизбежности LLVM/Clang в X.Org уже свершившийся. И его глупо отрицать. Это было сделано с подачи Intel и AMD, которые продвинули идею линуксового DRI/KMS в графический стек, вытеснив оттуда альтернативные точки зрения в лице Sun, Apple и BSD.

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

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

alexferman ()
Ответ на: комментарий от alexferman

Надеюсь, мы не отстанем с Wayland. Но его что-то очень долго обещают выпустить в продакшен, «а Германа всё нет» ©.

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 2)
Ответ на: комментарий от iZEN

Но факт неизбежности LLVM/Clang в X.Org уже свершившийся.

ведь за иксами будущее.

Deleted ()
Ответ на: комментарий от Deleted

В X.Org вообще-то обеспечили не только своё будущее, но и уже настоящее - внутри ядра Linux и FreeBSD через механизмы DRI и KMS. А программно-аппаратный рендеринг OpenGL осуществляется посредством «трубы» LLVM. И это не зависит от используемого сервера X, Wayland или Mir. Вот такой вот «выбор» нам оставили.

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от Payload

Лицензия

Это минус^W. Точнее для использования в свободном ПО индефферентно, а проприетарщики должны страдать.

te111011010 ()
Ответ на: комментарий от te111011010

Если бы gcc не допускал сборку им несвободных программ, то это было бы другое дело. А так он всего лишь не даёт на основе gcc делать несвободные средства разработки. И это есть хорошо.

te111011010 ()
Ответ на: комментарий от beastie

То, что банальные оккупанты должны страдать. Ядро Linux тому пример. Он используется в каждом утюге, но эти утюги проприетарные до мозга костей, иногда даже проприетарнее, чем аналоги на винде. И то Linux под копилефт-лицензией, но в которой нашли лазейки, которые были профикшены в GPL3, но разработчики Linux отказываются переходить на неё. Если бы он был под bsd-подобной лицензией, то неизвестно, в каком месте он бы был.

te111011010 ()
Ответ на: комментарий от te111011010

Если бы он был под bsd-подобной лицензией, то неизвестно, в каком месте он бы был.

Стоял бы на лучших ноутбуках в мире? :)

staseg ★★★★★ ()
Ответ на: комментарий от ekzotech

А на gcc мы, типа, страдаем и вообще жизни не было до Clang?

На мой взгляд да, программировал на gcc со времён 2.95.* . Первый gcc который не стыдно было показывать людям для меня начался с 3.3 или 3.4.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

Но при этом он долгое время был чуть ли не единственным живым компилятором под x86, отличным от MSVC.

te111011010 ()
Ответ на: комментарий от te111011010

Если бы он был под bsd-подобной лицензией, то неизвестно, в каком месте он бы был.

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

bread ()
Ответ на: комментарий от bread

На серверах рулит и педалит, причём именно как свободная ОС. На десктопах гораздо лучше, чем freebsd. Но имхо был бы под gpl3, было бы лучше. Хотя бы телефоны на андроиде не нужно было взламывать, чтобы получить root и возможность ставить неофициальную прошивку.

te111011010 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.