LINUX.ORG.RU

GCC 4.5.0 released

 , ,


0

0

GNU и команда разработки GCC рады представить релиз GNU Compiler Collection версии 4.5

В новой версии:

  • Добавлена поддержка плагинов позволяющих менять функциональность компиляторов без пересборки GCC
  • Поддержка оптимизации при компоновке (LTO)
  • Добавлена поддержка библиотеки MPC для улучшения математическо-расчетной части компилятора
  • Поддержка Intel Atom, а также наборов инструкций для новейших процессоров Интел и AMD (XOP,FMA4,MOVBE,LWP)
  • Поддержка новых процессоров ARM, AVR, Coldfire, Atmega, MeP, MIPS, Picochip (см. подробности)
  • Улучшения стандарта C++0x в libstdc++
  • Значительно улучшена подсистема векторизации и параллелизации кода Graphite
  • много других изменений

Анонс релиза

>>> Подробности изменений

★★★★★

Проверено: JB ()

ура :) спасибо за новость

lester ★★★★ ()

> Значительно улучшена подсистема векторизации и параллелизации кода Graphite

Есть где-нить стравнительные тесты?

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

тестов нет, но там очень много переписали,что сказалось в положительную сторону как минимум на стабильности, из тех тестов что делала я, Graphite улучшало производительность на 2% на x86_64 и снижало (!) на x86 на те же 2%, но это тесты ветки 4.4.х


Зато в 4.5 есть еще и LTO, правда я с ним пыталась ffmpeg собрать, так не получилось )

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

> Зато в 4.5 есть еще и LTO, правда я с ним пыталась ffmpeg собрать, так не получилось )

4.2, собирается

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

Собирается. и падает красиво.
по крайней мере у меня.

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

> -flto -fwhopr

ffmpeg-9999 собрался и не падает, что я делаю не так ?

ezoteric ()

один фиг у интела оптимальнее компилятор.

anonymous ()

Ждём повышения температуры на планете!

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

ftp://ftp.gnu.org/gnu/gcc

тут пока нет tarball-ов ) это уж как ftp-менеджер подсуетится, а с 4_5-branch уже неделю как можно собрать то, что сейчас вышло как релиз.

Sylvia ★★★★★ ()

Ну теперь венде точно копец (с)

Спасибо за отличную новость.

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

не-а, венде тоже не капетс, венда тоже одна из целевых платформ

Windows (Cygwin and MinGW)

* GCC now installs all the major language runtime libraries as DLLs when configured with the --enable-shared option.
* GCC now makes use of the new support for aligned common variables in versions of binutils >= 2.20 to fix bugs in the support for SSE data types.
* Improvements to the libffi support library increase the reliability of code generated by GCJ on all Windows platforms. Libgcj is enabled by default for the first time.
* Libtool improvements simplify installation by placing the generated DLLs in the correct binaries directory.
* Numerous other minor bugfixes and improvements, and substantial enhancements to the Fortran language support library.

Sylvia ★★★★★ ()

> Поддержка оптимизации при компоновке (LTO)

А оно приносит реальную пользу?

Adjkru ★★★★★ ()

Отличная новость!) через недельку другую пересоберу гентачку на нетбуке =)

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

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

в ICC давно есть -ip -ipo , в старом КДЕ применяли LTO в виде kde enable final , код обьединялся и компилировался одним файлом, вообщем-то дает хорошие возможности для инлайнинга хотя бы

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

> один фиг у интела оптимальнее компилятор.

Пруфлинк в студию.

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

можно и постепенно переехать, это не 4.4 с его packed bit field ABI несовместимостью

Sylvia ★★★★★ ()

Ур-ра-а!!1

Ждём ебилдов! :}

anonymous ()

Зашевелились. Это их LLVM подогнал. :)

atrus ★★★★★ ()

А количество зависимостей у него растет. Скоро делать bootstrap ГЦЦ из сборки минимального размера будет совсем нетривиально.

proud_anon ★★★★★ ()

Хорошая новость! Silvy +100 в карму!

keeper_b ★★★ ()

>Значительно улучшена подсистема векторизации и параллелизации кода Graphite

Оно действительно автоматически распрралеливает циклы. Насколько быстрее получается при многопроцессорности?

GladAlex ★★★★★ ()

Увидев новость я уже знал кто её запостил.

Пришло время emerge -e world.

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

-mcpu deprecated уже давно, одно из последних что там было это -mpentiumpro


-march=atom

(хотя оно уже есть в бэкпортах 4.4 в отдельных дистрибутивах)

Sylvia ★★★★★ ()

Вот после таких новостей хочется вернуться на gentoo

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

+ пара процентов, не более, если судить по тому же ICC, на программку типа архиватора распаралелливаетс 2-3 цикла, этого явно недостаточно для того чтобы было ощутимо.

эвристическое распаралелливание не может дать такой результат как OpenMP распаралелливание программистом

Sylvia ★★★★★ ()

Ну и кому нужна эта куча говнокода, если есть кошерный LLVM?

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

gmp mpfr mpc + ppl + cloog
последние 2 для графита

+ libc (libc, lm) + libz + libstdc++ (ppl написана на c++)

Sylvia ★★★★★ ()

мне нужно теперь менять флаги оптимизаций? сейчас

CHOST="x86_64-pc-linux-gnu"
CFLAGS="${CXXFLAGS} -pipe"

процессор тот же самый:

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 47
model name      : AMD Athlon(tm) 64 Processor 3800+
stepping        : 2
cpu MHz         : 2410.995
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up rep_good pni lahf_lm
bogomips        : 4821.99
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
DoctorSinus ★★★★★ ()
Ответ на: комментарий от Sylvia

CFLAGS="-O2 -march=native -pipe"
Только в избранных дистрибутивах!

anonymous ()

> Поддержка оптимизации при компоновке (LTO)
Отлично

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

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

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

$ ACCEPT_KEYWORDS=** emerge -e world делать?
вот из-за таких у Генты и идёт специфышская репутация.

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

ну если хотите поэкспериментировать
можете добавить

-flto -fwhopr

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

+ если раньше не использовали графит , то

-ftree-loop-linear -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -ftree-parallelize-loops=ЧИСЛО_ЯДЕР -floop-parallelize-all

Sylvia ★★★★★ ()

Это ок. Ждём ебилдов?

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

я считаю что lto достаточно безопасна, если уж все собралось , то бояться уже нечего, профит - дополнительный inline функций с разных файлов исходников

Sylvia ★★★★★ ()

+ говорят, что openSUSE 11.3 уже с gcc-4.5 собирают, что есть гуд =)

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

можно без параллелизации на одном ядре, на 64 битах есть смысл (+ 2% !)

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