The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Релиз набора компиляторов GCC 4.8"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз набора компиляторов GCC 4.8"  +/
Сообщение от opennews (??) on 22-Мрт-13, 20:44 
После года разработки увидел свет (http://gcc.gnu.org/gcc-4.8/) релиз свободного набора компиляторов GCC 4.8 (http://gcc.gnu.org/). Новый выпуск примечателен переходом проекта на использование языка C++, улучшением поддержки стандартов C++11 и C11, интеграцией компонентов Address Sanitizer и Thread Sanitizer, поддержкой архитектуры AArch64 (ARM64).

Основные изменения (http://gcc.gnu.org/gcc-4.8/changes.html):

-  Кодовая база компилятора переведена на использование языка C++. Основной код по прежнему остаётся на языке Си, но для сборки обязательно требуется компилятор С++, так как некоторые части были переписаны на C++ и теперь допускается включение в GCC новых компонентов на языке C++;

-  Поддержка 64-разрядной архитектуры AArch64(ARM64), присутствующей в процессорах с набором команд ARMv8. Архитектура AArch64 включает в себя новый набор команд A64, примечательный расширением числа регистров, новыми командами для вычислений с плавающей запятой (FP) и новыми векторными SIMD-инструкциями NEON, такими как инструкции для ускорения работы алгоритмов шифрования AES и SHA-1/SHA-256. В настоящее время устройства на базе ARMv8 пока находятся на стадии тестирования прототипов и ещё не поступили в продажу;


-  Поддержка процессоров семейства Intel Haswell, AMD Jaguar и AMD Steamroller;

-  Интеграция компонента Address Sanitizer (http://code.google.com/p/address-sanitizer/),  созданного компанией Google и прекрасно зарекомендовавшего себя при выявлении уязвимостей в браузере Chrome. Address Sanitizer позволяет выявлять ошибки в работе с памятью и факты некорректного обращения к памяти, такие как обращение к областям памяти, после их освобождения ("use-after-free"), разрушение кучи, повреждение стека, переполнение буферов. Проверки Address Sanitizer включаются через опцию "-fsanitize=address" и могут замедлить работу программы примерно в два раза за счёт добавления дополнительных проверок. Address Sanitizer может быть использован на платформах GNU/Linux  (IA-32, x86-64, x32, PowerPC, PowerPC64) и Darwin (x86-64);

-  Добавлен режим Thread Sanitizer (http://code.google.com/p/data-race-test/wiki/ThreadSanitizer) (-fsanitize=thread),  предназначенный для обнаружения эффекта "гонки" при совместном доступе к одним и тем же данным из различных нитей многопоточного приложения. Thread Sanitizer базируется на коде из программы Valgrind. Использование Thread Sanitizer может до 10 раз замедлить работу программы. Режим доступен только для платформы x86-64 GNU/Linux;

-  Новый уровень оптимизации "-Og", позволяющий повысить удобство отладки за счёт существенного сокращения времени компиляции. В режиме "-Og" компилятор производит только минимальные оптимизации, не влияющие на результаты при отладке;

-  Улучшения в поддержке стандартов C++11 и C11, а также реализация ряда возможностей будущего стандарта C++1y;

Дополнительно можно отметить интересное исследование (http://rusty.ozlabs.org/?p=330) производительности работы кода, собранного компиляторами Си и Cи++ из состава GCC 4.7.2. В итоге опровергнуто мнение, что код на языке Си собранный компилятором сс медленнее, чем если данный код будет собран компилятором с++. Подмножество языка Си, доступное при сборке компилятором С++, по эффективности не уступает чистому компилятору Си, разница составляет всего  0.1%. Таким образом переход GCC на сборку компилятором С++ не скажется на  производительности.


URL: http://gcc.gnu.org/gcc-4.8/
Новость: http://www.opennet.me/opennews/art.shtml?num=36467

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "Релиз набора компиляторов GCC 4.8"  +2 +/
Сообщение от YetAnotherOnanym (ok) on 22-Мрт-13, 20:47 
> могут замедлить работу программы примерно в два раза за счёт добавления дополнительных проверок

Да хоть в десять, здесь можно и потерпеть.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

43. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от Аноним (??) on 24-Мрт-13, 00:12 
Смотря где. Если этим пользоваться постоянно в рантайм а не только для дебага - в 10 раз хреново. Да и в 2 тоже не сильно хорошо.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Релиз набора компиляторов GCC 4.8"  +3 +/
Сообщение от Аноним (??) on 22-Мрт-13, 21:06 
Клево-клево. У них там для C++11 всего две фичи осталось доделать: Rvalue references for *this и Minimal support for garbage collection and reachability-based leak detection.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 23-Мрт-13, 02:04 
а разве многопоточные фичи уже все реализованы?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

42. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от pupkin2 on 23-Мрт-13, 17:39 
угу.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

5. "Релиз набора компиляторов GCC 4.8"  +4 +/
Сообщение от ананим on 22-Мрт-13, 21:17 
>В итоге опровергнуто мнение, что код на языке Си собранный компилятором сс медленнее, чем если данный код будет собран компилятором с++.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Crazy Alex (??) on 22-Мрт-13, 21:45 
Код там пока остался фактически тем же, бакэнд тоже. Просто раньше использовали сишный фронтенд для компиляции, сейчас - плюсовый. И на скорость работы собранного это не повлияло, что логично.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

21. "Релиз набора компиляторов GCC 4.8"  +3 +/
Сообщение от ананим on 22-Мрт-13, 22:05 
да ерунда это всё на самом деле.
а вот что не ерунда, так это возможные косяки при сборке мира, которые порой при минорных релизах случались, а тут и версия, и фичи, и компилятор.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

30. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Crazy Alex (ok) on 23-Мрт-13, 02:14 
Ну, это дело такое - выловят, пофиксят. Как не раз было уже. Зато, может, побыстрее развиваться станет, а то шлангам всяким эппловским отдавать первенство было бы грустно.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

40. "Релиз набора компиляторов GCC 4.8"  +2 +/
Сообщение от arisu (ok) on 23-Мрт-13, 14:31 
> а то шлангам всяким эппловским отдавать первенство было бы грустно.

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

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

44. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 00:14 
> оба применять.

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

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

49. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от arisu (ok) on 24-Мрт-13, 01:38 
достаточно один стандарт. на то он — сюрпрайз — и стандарт.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

53. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от Аноним (??) on 24-Мрт-13, 02:12 
> достаточно один стандарт.

Ну покажи мне стандарт на, допустим, линкерные скрипты, если такой умный...

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

54. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от arisu (ok) on 24-Мрт-13, 02:15 
>> достаточно один стандарт.
> Ну покажи мне стандарт на, допустим, линкерные скрипты, если такой умный…

знаешь, когда я в последний раз писал линкерный скрипт? ТА-ДАААМ! никогда!

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

57. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 02:35 
> знаешь, когда я в последний раз писал линкерный скрипт? ТА-ДАААМ! никогда!

Ну это уж кому что. Таки мне нравится раскладывать байтики предсказуемо. В эмбедовке довольно актуально. А там еще всякие специфичные для компилера опции и прочая, etc.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

58. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от arisu (ok) on 24-Мрт-13, 03:08 
ну так и сиди себе на гцц. всё равно кланг пока что на этом поле не игрок.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

62. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 03:25 
> ну так и сиди себе на гцц. всё равно кланг пока что на этом поле не игрок.

Дык так и делаю. Спасибо, Капитан. Ты все-таки не потерял квалификацию :)

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

59. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 03:09 
p.s. а опции мне билд-система разрулит. её один раз научил — и всё.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

63. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 03:25 
> p.s. а опции мне билд-система разрулит. её один раз научил — и всё.

А так придется два раза. //да, я ленивый бастард...

Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

64. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 03:27 
>> p.s. а опции мне билд-система разрулит. её один раз научил — и всё.
> А так придется два раза. //да, я ленивый бастард...

всё равно один. потому что один она уже умеет. так-то!

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

41. "Релиз набора компиляторов GCC 4.8"  +2 +/
Сообщение от arisu (ok) on 23-Мрт-13, 14:35 
впрочем, одну из самых важных шлангофич уже сделали, не боись, мужики: теперь по умолчанию место ошибки подчёркивается крышками! я джва года ждал и мечтал о том, чтобы при сборке у меня в терминал как можно меньше сообщений об ошибках помещалось. и чтобы я был вынужден проверять версию gcc в скриптах сборки, потому что старые версии, натурально, параметр «убери в задницу свои крышки» не понимают.

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

с нетерпением жду, когда же вывод компилятора ещё и покрасят в разные цвета. а то немодно уже без попугаистости.

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

45. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 00:17 
> с нетерпением жду, когда же вывод компилятора ещё и покрасят в разные
> цвета. а то немодно уже без попугаистости.

Попугаистость попугаистостью, а gcc 2.x/3.x вываливали ошибки так, что хотелось просто прибить тех кто это придумал. В общем конкуренция таки никому еще не вредила.

А при нормальном процессе сборки билд валится от 1 ошибки - какая разница сколько там влезает, 5 ошибок или 10, если он стопнется на первой же? Это раньше gcc продолжал фигачить еще полминуты, обильно вываливая ошибки вытекающие из предыдущей :)

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

50. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 01:41 
благодарю, я сам решу, что для меня «нормальный процесс сборки». и для меня — есть разница. для кого нет — может хоть баннеры во весь экран вместо ошибок иметь, я не запрещаю. но делать идиотизм с подчёркиванием opt-out — это идиотизм в квадрате. внизапна! именно потому, что если ты пользуешься редактором — то редактор распарзит выхлоп и направит. а если нет — есть огромный шанс, что хочешь посмотреть кучу ворнингов сразу, и побольше.

если бы фичу сделали opt-in, я бы не возмущался вообще: все старые скрипты сборки работают как надо, все инструменты тоже. однако же нет: фича opt-out. и теперь в скрипты добавляется ещё и идиотия с проверкой версии гцц (ведь старая версия не знает параметра «отключить крышки» и валится сразу, как только его увидит — очень умно).

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

55. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от Аноним (??) on 24-Мрт-13, 02:21 
> посмотреть кучу ворнингов сразу, и побольше.

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

> если бы фичу сделали opt-in, я бы не возмущался вообще:

А почему ее надо делать opt-in? Есть уверенность что большинству програмеров юзающих этот компилер так удобнее было бы? Для меня вот например ситуация когда надо разгрести 20 ошибок или варнингов за раз является чем-то из ряда вон. А то что лично ты не есть центр вселенной и пуп земли - наверное пора бы уже привыкнуть за столько лет.

> проверкой версии гцц (ведь старая версия не знает параметра «отключить крышки»
> и валится сразу, как только его увидит — очень умно).

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

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

60. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 03:15 
> Никогда не понимал тех кто хочет сперва навалить кучу компоста а потом
> ее полдня раскапывать.

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

>> если бы фичу сделали opt-in, я бы не возмущался вообще:
> А почему ее надо делать opt-in?

а потому, что вывод компилятора не ломается. нужна тебе фича — поставил в билд-системе флаг, и всё.

могут сказать: «ну, не нужна — поставил, и всё.» всё, да не всё: если я попиливаю чужой проект, я заколебусь билд-систему править после каждого git-pull, да защищать от git-push. а если у автора не 4.8? опа-па, у него вообще такой опции нет. ок, пусть даже opt-in, но если бы 4.7 и ниже не падали (не отказывались работать) от незнакомой опции…

> Есть уверенность что большинству програмеров юзающих
> этот компилер так удобнее было бы?

есть уверенность, что новые *косметические* фичи надо делать opt-in. особенно intrusive фичи. хотя бы на ту версию, в которой они введены. если, положим, через год выйдет 4.9 — ок, там можно и opt-out, к тому времени кто не перешёл на 4.8, который нужную опцию понимает — сам себе полено.

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

зачем тебе это «инфо», если ты всё равно получишь его в редакторе, когда полезешь править? причём с намного более широким контекстом. а если не полезешь — то тебе и вовсе эта информация не нужна.

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

65. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от Аноним (??) on 24-Мрт-13, 03:54 
> я тебе секрет открою: именно варнинги — их удобней скопом убирать. потому
> что это обычно опечатки или около того.

Не заметил особого удобства в совании в совершенно разные закоулки по методу лоскутного одеяла.

> а потому, что вывод компилятора не ломается. нужна тебе фича — поставил
> в билд-системе флаг, и всё.

IMHO, то что удобно большинству юзеров (прикольно звучит относительно компилера) должно быть дефолтами а не опцией. Муд@хоаться с недефолтными опциями - таки удел избранных. Ну, как мне с линкерными скриптами примерно. Я ж не вякаю что это довольно брейнфакерно и все такое. Хоть оно и.

> каждого git-pull, да защищать от git-push. а если у автора не 4.8?

А что, ввинтить желаемое куда-нибудь в cflags/cxxflags или какой-нить альяс на компилер - не вариант? Обычно когда кому-то хочется довольно жестко оверрайднуть какую-то настройку компилера или впихнуть какие-то ключ(и) от себя с минимальными усилиями - делают как-то так. Билд систему патчить при этом разумеется не надо (а нафига?). Хотя конечно можно и в самом компилере выпилить, но это как-то уж совсем кардинальное решение :)

> работать) от незнакомой опции…

Ну да, с этим кому-то может быть неудобно, согласен. Поэтому при такой реализации логичнее скармливать опцию на машине с gcc 4.8. Доп. возня? Ну да, могу понять причины неудовольствия. Но подозреваю что найдется и много тех кому свистелка наоборот понравится.

> есть уверенность, что новые *косметические* фичи надо делать opt-in.

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

> к тому времени кто не перешёл на 4.8, который нужную опцию понимает — сам себе полено.

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

> зачем тебе это «инфо», если ты всё равно получишь его в редакторе,

В лучшем случае позволит быстрее выхватить проблемное место глазами. Хотя...

> когда полезешь править? причём с намного более широким контекстом. а если
> не полезешь — то тебе и вовсе эта информация не нужна.

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

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

66. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от arisu (ok) on 24-Мрт-13, 04:11 
>> я тебе секрет открою: именно варнинги — их удобней скопом убирать. потому
>> что это обычно опечатки или около того.
> Не заметил особого удобства в совании в совершенно разные закоулки по методу
> лоскутного одеяла.

у тебя редактор не умеет по строкам прыгать, что ли? у меня — умеет. как я уже сказал, большинство ворнингов — тупо опечатки, которые правятся в режиме brain-off, именно скопом. да, грешен, делаю опечатки.

> Муд@хоаться с недефолтными опциями — таки удел избранных.

а делать intrusive changes как opt-out, не дав времени подготовиться — стратегия идиотов, я считаю. я уже писал: в 4.9 — пусть. но сразу-то зачем?

> А что, ввинтить желаемое куда-нибудь в cflags/cxxflags или какой-нить альяс на компилер
> — не вариант?

нет, не вариант. флаги в большинстве случаев (и в автокрапе тоже, да) можно перекрыть, а вот дополнить — фигушки. потому что авторы этих систем не хотят писать свои парзеры флагов, чтобы передать компилеру нечто разумное в итоге. да и авторы скриптов сборки достаточно часто делают так: «есть внешние? используем их. нет? ставим свои.» поэтому не вариант, увы. bwah, у меня в некотором софте тоже кое-где особые флаги нужны, и это, в принципе, не единичный случай.

> Хотя конечно можно и в самом компилере выпилить,
> но это как-то уж совсем кардинальное решение :)

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

> Ну да, с этим кому-то может быть неудобно, согласен. Поэтому при такой
> реализации логичнее скармливать опцию на машине с gcc 4.8. Доп. возня?
> Ну да, могу понять причины неудовольствия. Но подозреваю что найдется и
> много тех кому свистелка наоборот понравится.

понравится — добавят во флаги, как ты сам выше и предлагал. ещё раз: проверять на идиотский gcc 4.8 будет *везде*, а добавлять опцию человек будет точно зная, что у него 4.8, и эта опция работает. лично я считаю второй подход разумней. а в 4.9 они станут задом наперёд всё выводить, потому что так прикольно — и на 4.9 проверяй. ты знаешь, примерно вот так появился автокрап.

>> есть уверенность, что новые *косметические* фичи надо делать opt-in.
> Ну если ты лучше всех знаешь как надо делать компилеры — так
> надери этим гадам задницы, сделав свой компилер, в два раза лучше
> чем у них.

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

>> к тому времени кто не перешёл на 4.8, который нужную опцию понимает — сам себе полено.
> На самом деле таких поленьев довольно много, например на всякую эмбеддовку портируют
> с довольно большим опозданием иногда.

вот это точно не волнует. во-первых, эмбеддерам не привыкать к акробатике, а во-вторых, мой софт там однозначно не нужен. :3

> Но если реально задело — ну в мыллист отругайся

см. выше.

> Я не думаю что gcc пишут свирепые акулы, ставящие самоцелью
> кому-то специально нагадить.

но мозг они иногда включать таки забывают. не то, чтобы фатально, однако же неприятно.

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

67. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 04:14 
p.s. кстати, что забавно: настоящие спамеры в листы вполне себе пролазят.
Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

68. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 04:17 
и, кстати, ещё: я не смотрел исходник гцц, но: или они должны хранить кучу доплнительной инфы, чтобы выдать мне строку точно в том виде, в каком она в файле была, или их pretty-printer отформатирует её по своему. в первом варианте — бессмысленный расход памяти, а во втором вообще ужас.

да второй и не реализуем толком, так что только первый. итого, фича помимо мусора на экране влечёт за собой ещё и мусор в RAM. офигеть улучшили.

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

69. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Карбофос (ok) on 24-Мрт-13, 11:49 
там же временные файлы есть, которые по умолчанию удаляются, там и хранятся эти строки, как они были, вперемешку с мнемониками асма.
или речь о другом?
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

70. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 18:53 
> там же временные файлы есть, которые по умолчанию удаляются, там и хранятся
> эти строки, как они были, вперемешку с мнемониками асма.
> или речь о другом?

ну, пусть во временных файлах — я ж говорю, не смотрел, где хранят. «суть-то в том», (ц) что это тупо не нужно всё, лишняя трата ресурсов. для индикации (строка,позиция) достаточно рядом с токеном хранить именно эти два значения (ну, ещё имя исходного файла в отдельном словаре). всё остальное — это лишний код и лишние ресурсы. кому очень-очень хочется крышек — тот может написать себе скрипт, который будет хватать вывод gcc и дорисовывать крышки. на кой это в компиляторе — вообще не ясно.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

51. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от arisu (ok) on 24-Мрт-13, 01:43 
я, впрочем, поступил не менее нагло: просто выключил её и пересобрал gcc. если у кого-то с gcc 4.8 некоторые мои скрипты сборки упадут — я любезно предоставлю им адрес списка рассылки gcc, где они могут высказать все впечатления о крышках. подстраиваться под идиотизм в квадрате я не буду.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

56. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 02:24 
> могут высказать все впечатления о крышках. подстраиваться под идиотизм в квадрате я не буду.

Ну так и не подстраивайся, ты так говоришь как будто к тебе мужика с автоматом прислали, надзирать что ты крышки юзаешь. И да, ты уверен что если к фиче народ привыкнет а ее потом выпилить то opt-in вызовет у ALL меньше неудовольствия чем opt-out? Я конечно понимаю что тебя проблемы остальных не волнуют. Но то же самое могут сказать и окружающие о твоих проблемах, не так ли?

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

61. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 03:17 
> Ну так и не подстраивайся, ты так говоришь как будто к тебе
> мужика с автоматом прислали, надзирать что ты крышки юзаешь.

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

> ты уверен что если к фиче народ привыкнет а ее потом
> выпилить то opt-in вызовет у ALL меньше неудовольствия чем opt-out?

я не предлагаю «потом», я предлагаю прямо сейчас сделать её отключеной по-умолчанию.

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

71. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 22:22 
> к сожалению, дистрибутивы идиотизм в квадрате выпиливать не будут. поэтому можно
> сказать, что приставили.

Ну знаешь, а вот мне дистр не собрал компилер под пяток не очень часто встречающихся архитектур. Только на самые распостраненные. Получается что у меня вообще целая рота расквартировалась? :). ИМХО не совсем гуманно заставлять майнтайнеров билдить все это - возможно сильно уж дофига вариантом сборки.

> я не предлагаю «потом», я предлагаю прямо сейчас сделать её отключеной по-умолчанию.

После релиза клавиатурой не машут. Так что это "потом" можно считать что уже здесь.

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

72. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 22:41 
> После релиза клавиатурой не машут. Так что это "потом" можно считать что
> уже здесь.

so be it. мне, в принципе, несложно патч к скриптам сборки докинуть (что я и сделал). ну, не в первый раз приходится править идиотизм авторов всякого софта таким образом.

Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

73. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от anonymous (??) on 25-Мрт-13, 10:00 
> с нетерпением жду, когда же вывод компилятора ещё и покрасят в разные
> цвета. а то немодно уже без попугаистости.

у меня для тебя плохие новости...

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

74. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 25-Мрт-13, 10:02 
> у меня для тебя плохие новости...

я в курсе про шланг. на него и намекал.

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

38. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Пиу on 23-Мрт-13, 13:06 
>да хоть на жабе компилятор пишите, а результирующий код будет зависеть от применённых алгоритмов, а не от языка.

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от ram_scan on 22-Мрт-13, 21:30 
> Таким образом переход GCC на сборку компилятором С++ не скажется на производительности.

Враки. Не сказывается это только на канонiчном тесте на синтетике. В реальной программе, особенно написаной индусом, без внятного понимания как работают библиотеки которыми он пользуется, где тривиальный виртуальный метод наследуется по четыре сотни раз в принципе весь OOP выглядит как байтораздирающее зрелище.

Реверсил, плавал...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Crazy Alex (??) on 22-Мрт-13, 21:43 
GCC пишут отнюдь не индусы без внятного понимания. А речь именно о сборке GCC плюсами.

Ну и да, дурак что угодно угробит.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

18. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Нанобот on 22-Мрт-13, 21:48 
>Дополнительно можно отметить интересное исследование производительности работы кода

не интересное там исследование, т.к. нет картинок :-)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от anonymous (??) on 22-Мрт-13, 21:57 
Интересно что там заготовлено на 3.9, какие вкусности. Пока заметил в транке патчи связанные с векторами, так и не понял зачем они.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от arisu (ok) on 22-Мрт-13, 22:16 
> Интересно что там заготовлено на 3.9

зачем три-девять? не надо три-девять.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

46. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 24-Мрт-13, 00:18 
> зачем три-девять? не надо три-девять.

Надо. Уже rc3 есть. Правда вот это ядро линукса. Оно хорошее, честно-честно. Там ряд тупых багов исправлен :).

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

22. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от arisu (ok) on 22-Мрт-13, 22:10 
блин, только вчера RC собрал. не могли месяцок потерпеть.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Crazy Alex (ok) on 23-Мрт-13, 02:34 
он, небось, только номером и отличается, если вчера собирал.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

39. "Релиз набора компиляторов GCC 4.8"  +2 +/
Сообщение от arisu (ok) on 23-Мрт-13, 14:29 
> он, небось, только номером и отличается, если вчера собирал.

всё равно неприятно, когда --version рапортует об RC. пусть рапортует нормально. и потом: машина железная, за час на фоне спокойно пересобрала, пока я кино смотрел.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

23. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от Главные Редакторы on 22-Мрт-13, 22:12 
Вопрос к посвящённым. Что дало переписывание кода GCC с Си на Си++? Какую цель преследует эта работа?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Релиз набора компиляторов GCC 4.8"  –1 +/
Сообщение от arisu (ok) on 22-Мрт-13, 22:16 
> Вопрос к посвящённым. Что дало переписывание кода GCC с Си на Си++?
> Какую цель преследует эта работа?

упрощение maintenance. и вообще, на странице gcc указаны причины, даже сильно искать не надо.

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

26. "Релиз набора компиляторов GCC 4.8"  –2 +/
Сообщение от anonymous (??) on 23-Мрт-13, 00:57 
RMS проиграл многолетнюю битву с любителями множественного наследования темплейтов фактори лямбда функций. Те, пока чтобы не спугнуть, пока переписали самую малость, чисто для пробы. Но обфуcкация уже запущена, мало помалу GCC превратится как и остальные С++ проекты, в нечитаемую жуть.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

32. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Perl_Jam on 23-Мрт-13, 03:24 
>для сборки обязательно требуется компилятор С++, так как некоторые части были переписаны на C++

да уж, инновация..

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Релиз набора компиляторов GCC 4.8"  –7 +/
Сообщение от Славик on 23-Мрт-13, 05:36 
Не нужно.
Только clang, только llvm.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

37. "Релиз набора компиляторов GCC 4.8"  +4 +/
Сообщение от alexxy (ok) on 23-Мрт-13, 09:10 
Звучит как: только хардкор только тормоза.
Так когда там к clang прикрутят openmp? ну и заодно исправят проблемы с математикой, что некоторый софт как то вектора выдает примерно на порядок длинее чем надо (точнее чем правильно и работает на других компиляторах gcc-4.6+ intel-12+ xlc)
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

47. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от Аноним (??) on 24-Мрт-13, 00:21 
> Только clang, только llvm.

Это который ничего кроме х86 и (в зачаточном состоянии) некоторых подвидов ARM толком не поддерживает? Да и на тех оптимальность кодогенерации - паршивая? Не, спасибо, некоторых волнует не "%s - круто!!!" а фактический результат.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

76. "Релиз набора компиляторов GCC 4.8"  –3 +/
Сообщение от linux must _RIP_ on 27-Мрт-13, 09:41 
>> Только clang, только llvm.
> Это который ничего кроме х86 и (в зачаточном состоянии) некоторых подвидов ARM
> толком не поддерживает? Да и на тех оптимальность кодогенерации - паршивая?
> Не, спасибо, некоторых волнует не "%s - круто!!!" а фактический результат.

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

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

80. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от Аноним (??) on 18-Апр-13, 20:49 
> а кому нyжнен этот набор архитектур -

Мнe нyжен. Я регулярно собираю под ARM всех мастей и MIPS. Иногда под MSP430 и AVR. И у меня вообще х86 нет. Ну самый край x86_64, который заметно отличается.

> когда основная платформа x86?

Это у некрофaгов всяких она основная. А в мире очень нехилый такой сдвиг в сторону ARM произошел. То что вы лишний раз будете на обочине с вашими х86 грoбами - так вам и надо.

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

Оно и видно - парни из AMD два года p@кoм стояли, пытаясь убедить этот шит сгенерить хотя-бы просто технически валидный поток команд для своего VLIW. На примере амд я уже увидел насколько это тривиально. Там же в списке рассылки некий Вадим Гирлин рассказал насколько просто оптимизировать код в LLVM относительно местечкового кодогенератора. Так что шли б вы с вашим маркетинговым булшитом!

Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

36. "Релиз набора компиляторов GCC 4.8"  –3 +/
Сообщение от Fracta1L (ok) on 23-Мрт-13, 08:09 
Когда будут ебилды?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "Релиз набора компиляторов GCC 4.8"  +1 +/
Сообщение от Аноним (??) on 24-Мрт-13, 00:22 
> Когда будут ебилды?

Дожили, спецы по перекомпиляции мира не могут собрать себе ... компилятор. Скажите, какого гуя я могу собрать себе gcc в какой-то там хубунте, не дожидаясь пока мне кто-то поднесет на блюдечке, с голубой каемочкой, а?

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

52. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от arisu (ok) on 24-Мрт-13, 02:01 
дедушка шутит.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

78. "Релиз набора компиляторов GCC 4.8"  +/
Сообщение от шлепнога on 05-Апр-13, 09:34 
>> Когда будут ебилды?
> Дожили, спецы по перекомпиляции мира не могут собрать себе ... компилятор. Скажите,
> какого гуя я могу собрать себе gcc в какой-то там хубунте,
> не дожидаясь пока мне кто-то поднесет на блюдечке, с голубой каемочкой,
> а?

Чего прицепился к виндузятнику ? :)

emerge --info
Portage 2.2.0_alpha171 (default/linux/amd64/13.0, gcc-4.8.0, glibc-2.17, 3.8.2-gentoo-4 x86_64)
=================================================================

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру