LINUX.ORG.RU

GCC 4.6.0

 , ,


0

1

Вышла новая версия GNU Compiler Collection — 4.6.0.

Новшества:

  • улучшения в использовании памяти и скорости компиляции;
  • поддержка языка программирования Go;
  • новый уровень оптимизации -Ofast, который включает в себя все ключи из -O3 и ключи, позволяющие получить ещё более оптимизированный код, например -ffast-math;
  • улучшения в LTO (Link-Time Optimization);
  • улучшения в IPO (межпроцедурная оптимизация);
  • на 32-х битных системах теперь по умолчанию задействован ключ -fomit-frame-pointer (кроме -Os).

Добавлена поддержка следующих процессоров:

  • Intel Core i3/i5/i7 (-march=corei7, -mtune=corei7);
  • Intel Core i3/i5/i7 с новым набором инструкций — AVX (-march=corei7-avx, -mtune=corei7-avx);
  • AMD Bobcat (-march=btver1, -mtune=btver1).

Анонс

>>> Полный список изменений

★★★★

Проверено: hibou ()
Последнее исправление: post-factum (всего исправлений: 7)
Ответ на: комментарий от megabaks

>похороникс вообще закопать надо - они тесты делать не умеют

+1

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

под 586 только мандрива и сузя )

Альт ещё, весь школьный линукс как раз и собран с таким ключом. Только сервер у них бывает дополнительно в 64-битной редакции.

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

раньше (jaunty) было -march=i486 -mtune=generic, что сейчас... я давно не смотрела,
хотя у меня лежит iso Natty alpha 3

в дебиане -march=i486 , без -mtune

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

про 64 речи нет, там x86_64 генерик вариант, с sse2 и без ряда инструкций порезанных на ранних моделях

про альт забыла, что они под пентиум собирают, впрочем, я не претендую на полноту заполнения списка, типичное перечислила

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

Просто два месяца назад ставили Линукс в один компьютерный класс и тогда разбирались.

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

> в дебиане -march=i486 , без -mtune

Ужас какой.

код для march i486 на современных процессорах работает медленней, чем код для i386 (проверял многократно на разных задачах/приложениях).

// b.

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

> похороникс вообще закопать надо - они тесты делать не умеют

Сделай что-то сам, а? Или только п*здеть?

Исходники PTS открыты - валяй, правь, делай «правильно».

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

код для march i486 на современных процессорах работает медленней, чем код для i386 (проверял многократно на разных задачах/приложениях).

Если это правда, то дело, скорее всего, в 80-разрядном математическом сопроцессоре, команды которго сейчас только эмулируются.

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

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

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

>а поднимать проект уровня похороникса... это надо кучу осей и железок - в том числе новейшего

Можно через лоркод добровольцев найти

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

>Исходники PTS открыты - валяй, правь, делай «правильно».

От того, что исходники это г-на на похапэ открыты, никому не легче

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

>я для себя делаю тесты как надо

То-то я смотрю, результаты у тебя всегда какие-то феерические. Исследователь хренов, бугога -D

frak
()

bzip2 бенчмарки

с bzip2 1.0.6 вот такое получается:

256 Mb кусок мусора из /dev/urandom  размещен в tmpfs, компрессия с -9
CFLAGS -O2 -fomit-frame-pointer
@Core2 Duo E8400 (Penryn, SSE4.1)

gcc 2.95.4 (=pentium)  - 0m53.722s
egcs-1.1.2 (=pentium)  - 0m56.607s
clang 2.8 (=native)         - 0m50.684s
gcc 3.4.6 (=pentium4)   - 0m51.866s
gcc 4.1.2 rh (=core2)     - 0m51.303s
gcc 4.2.4 (=nocona)       - 0m53.656s
gcc 4.3.5 (=native)          - 0m51.831s
gcc 4.4.5 (=native)          - 1m13.317s (упс!)
gcc 4.5.3pre (=native)    - 1m24.156s (еще "лучше")
gcc 4.6.0rel (=native)     - 1m5.343s

icc -xT
9.1     - 0m49.996s
10.1   - 0m50.129s
11.1   - 0m49.910s
12.0   - 0m48.339s
собственно без комментариев, итак все видно... напомню что bzip2 не содержит вставок на asm и написан на C, математика используется мало, так что -mfpmath= особого значения тут не будет иметь

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

Тем, что костыль.
Есть адекватные решения проблемы, такие как systemd, BFS и BFQ. Но 200-строчник — это просто адовый костыль, но никак не решение проблемы. Проблемы ТАК не решают.

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

>Тем, что костыль

Ещё один фапальщик на идеологическую стройность? Линукс, как система - сам по себе адовое нагромождение костылей и грязных трюков. Главное, чтобы задачи свои выполнял. А патч этот их выполняет на пять с плюсом.

systemd

Угу. Как давай тут полсистемы перелопачивать.

BFS и BFQ

От них тормоза.

никак не решение проблемы

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

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

я вообще bzip2 как компрессор не люблю ) для бенчмарка он годится

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

>Угу. Как давай тут полсистемы перелопачивать.

В арче пакет собран так, что не мешает дефолтным initscripts, для запуска systemd нужно просто прописать в граб init=/bin/systemd.

madgnu ★★★★★
()
Ответ на: bzip2 бенчмарки от Sylvia

Просто УЖОС какой-то! Что такого сделали в 4.4.5? Это же самый используемый на сегодня вариант!

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

Это я к тому, что в генте ebuild наверняка подобным образом сделан.

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

> Ещё один фапальщик на идеологическую стройность? Линукс, как система - сам по себе адовое нагромождение костылей и грязных трюков. Главное, чтобы задачи свои выполнял. А патч этот их выполняет на пять с плюсом.
А потом эти люди удивляются, откуда берутся 12309. Сначала напихают дерьма костыльного, да прямо в ядро, а потом рыдают, что всё тормозит на простейших действиях. Потом через год приходят рыцари на белых конях и засовывают ещё один здоровеннейший костыль. Люди прыгают от счастья, проблема-то, мол, решена. Посмотрим, что вы годика через два скажите.

Угу. Как давай тут полсистемы перелопачивать.

Собрать и прописать в грабе init=/bin/systemd — это полсистемы перелопатить? И что ты тогда в генте забыл?
И чего метаться-то, всё равно systemd в ближайшее время скоро станет общепринятым стандартом для линуксов, так почему бы не перейти на него уже сейчас, тем более, что это ни капли не сложно?

От них тормоза.

Да что ты говоришь? Их, наверное, прямо специально ради тормозов делали, ага. Только почему-то в 90% они повышают отзывчивость. Ядро-то сам собираешь?

раньше тормоза были, сейчас их нет

У меня тот же эффект от чистого systemd, даже без BFS и BFQ. А с ними так и вообще, никаких результатов 200-строчника даже видеть не хочется.

tmpusr
()
Ответ на: bzip2 бенчмарки от Sylvia

[code]
4.3.5:
native 0m51.831s
core2 0m51.645s

4.4.5
native 1m13.317s
core2 1m13.231s

4.5.3pre
native 1m24.156s
core2 1m23.958s
generic 1m7.826s (на чем там тестил megabaks? gzip qtperf?)

4.6.0
native 1m24.156s
core2 1m5.222s
generic 1m5.361s
[/code]
вообщем вот такое получилось по сравнению с -march=native -mtune=native
опять же не стоит воспринимать это категорично, возможно что это только с bzip2, только этой версии и т д

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

похороникс вообще закопать надо - они тесты делать не умеют

можно подумать, что ты умеешь

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

да, фигню сморозил. наверно i686 только йадро

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

PPS: для официального сравнения существуют тесты SPEC,
вот собственно по ним и стоит сравнивать, а на bzip2 и прочем это быстрый «домашний» вариант

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

>Интересно в это сравнение добавить gcc-4.4 из свежего rhel'а.

Разве в свежем не такой же 4.4.0, как в несвежем?

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

мой gcc 4.4.5 взят из branches/redhat
как и 4.1.2, остальное - ванильное

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

>PPS: для официального сравнения существуют тесты SPEC

говорят, что Штеуды специально затачивают процы под SPEC, хотя производительность в реальных задачах не так уж хороша.

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

официальный тест, от которого зависит рейтинг как компилятора, так и процессора,
неудивительно что пытаются мухлевать ) поэтому стоит и реальное потестировать

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

>Линукс, как система - сам по себе адовое нагромождение костылей и грязных трюков

вот до тех пор он и будет продолжать быть кучей г..на, пока вместо костыля в 200 строчек не начнут использовать более логичные и в 40 раз меньше.

От них тормоза.


Не от них, а они от тормозов.

раньше тормоза были, сейчас их нет. Это факт.


У меня при переходе на .38 тормоза пропали и с ВЫКЛЮЧЕННЫМ патчем. Никак б-жественная сила Патрега помогла.

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

>Не от них, а они от тормозов

До тридцать восьмого ядра я перепробовал разные комбинации - и bfs+bfq, и cfs+bfq и так далее и тому подобное, но нечто похожее на 12309 никуда и не думало пропадать.

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

Ну и, конечно же, включить необходимые при запуске демоны.
Список смотреть в /lib/systemd/system/
Включать посредством systemctl enable <имя_сервиса>.service
Ещё может понадобиться прописать, что грузиться надо в графический интерфейс по дефолту. ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
В принципе, почти то же самое приходилось делать при первой настройке openrc.

tmpusr
()
Ответ на: bzip2 бенчмарки от Sylvia

Sylvia,

надо бы bugreport добавить в bugzilla.

gcc 4.1.2 rh (=core2) - 0m51.303s

vs

gcc 4.5.3pre (=native) - 1m24.156s (еще «лучше»), gcc 4.6.0rel (=native) - 1m5.343s

Это же на 27% медленней! Если тебе лень, я могу сделать.

// b.

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

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

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

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

>возможно что это только с bzip2, только этой версии и т д

Core i5-430M, gcc 4.6. игры c mtune не дают вообще ничего, разница в пределах погрешности.
Вырубание выравнивания уменьшает время на .3-.5 секунды.
Включение кое-каких оптимизаций ускорило сжатие еще на 1-2 секунды.

Как-то уныло. Что скажешь, откатиться на 4.3?

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