URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 76044
[ Назад ]

Исходное сообщение
"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."

Отправлено opennews , 03-Апр-11 10:23 
Андрес Магнуссон (Anders Magnusson) представил (http://marc.info/?l=pcc-list&m=130167083618322&w=2) первый стабильный релиз  компилятора PCC 1.0.0 (http://pcc.ludd.ltu.se/) (Portable C Compiler), развиваемого с целью создания альтернативы Си-компилятора из состава GCC, распространяемой (ftp://pcc.ludd.ltu.se/pub/pcc-releases/) под лицензией BSD. PCC достиг стабильного состояния при работе на платформах i386 и amd64 в различных ОС, включая BSD-системы, большинство Linux-дистрибутивов, а также Microsoft Windows. Поддержка остальных аппаратных платформ еще недостаточно отлажена и может содержать ошибки и недоработки. Следом за версией 1.0.0 в недалёком будущем будет выпущено несколько корректирующих релизов, после чего ожидается версия 1.1 с реализацией более серьезных изменений.

На данный момент PCC может быть использован (http://bsdfund.org/projects/pcc/) для сборки большинства составляющих базовой системы FreeBSD (https://www.opennet.ru/opennews/art.shtml?num=29433), NetBSD (http://ww...

URL: http://marc.info/?l=pcc-list&m=130167083618322&w=2
Новость: https://www.opennet.ru/opennews/art.shtml?num=30110


Содержание

Сообщения в этом обсуждении
"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 10:23 
Хороший компилятор. гентушники одобряют?

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено dimqua , 03-Апр-11 10:44 
Когда будет быстрее GCC - одобрим.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 11:43 
>Процесс компиляции осуществляется в несколько раз быстрее, чем в GCC, при приемлемом уровне кода на выходе.

В новости же написано.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено dimqua , 03-Апр-11 12:09 
Я имел ввиду результат на выходе.

"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:23 
>>Процесс компиляции осуществляется в несколько раз быстрее, чем в GCC, при приемлемом уровне кода на выходе.
> В новости же написано.

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

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

я не к тому, что пцц не нужен — нужен. только не надо его с гцц сравнивать: разного калибра игроки.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 03-Апр-11 13:32 
> Когда будет быстрее GCC - одобрим.

Когда он сможет мне сгенерить код под ARM* и MIPS32 не хуже GCC, тогда и я подумаю...


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено z , 03-Апр-11 15:35 
>Когда он сможет мне сгенерить код под ARM* и MIPS32 не хуже GCC, тогда и я подумаю...

Как это "ПОДУМАЮ"? Погоду не порть людям Юзер. А как же святая вера в ГПЛ? У PCC не правильная лицензия, тут и думать нечего. Оно недостойно праведных бубунтоводов.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 04-Апр-11 01:52 
На самом деле, зная бздунов я предполагаю что мне повезет, если я увижу нечто похожее на упомянутое хотя-бы к моменту выхода на пенсию :P.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Свидетель Столлмана , 04-Апр-11 04:50 
Сама мысль греховна сын мой! :( Сначала ты подумаешь про компилятор демонический, а потом и греховные мысли об установке BSD появятся. А там и до проепритарщины докатишься, и сгинет душа твоя в геенне огненной.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 05-Апр-11 09:54 
> и до проепритарщины докатишься,

Всегда подозревал что бздуны - латентные проприетарщики, а тут прямо официальное подтверждение :)



"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Свидетель Столлмана , 05-Апр-11 10:59 
Все верно! Ты один из самых способных, среди уверовавших в светлый образ чистой и непорочной Птицы. Ты отмечен печатью пророка нашего, и можешь с помощью своего ясного и гибкого ума отличать добро от зла.

Скоро наш Великий пророк расправится со злом окончательно! И будет кругом Linux и GPL! А демонический силы навсегда будут замурованы в своей цитадели зла - Berkeley. И не будет им выхода в Интернет более, из этого проклятого места!


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 05-Апр-11 20:21 
> И будет кругом Linux и GPL!

Если его величество эволюция так распорядится - значит будет так. Те кто вымер - сами виноваты. Не смогли приспособиться к новым реалиям? Пшли вон, освободите место более достойным, которые смогут. В этом плане все относительно честно и просто ;). Каждый в своем праве потрепыхаться, но останутся только наиболее эффективные.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено анон , 03-Апр-11 10:46 
Нет. В лучшем случае им можно собрать только около 40% что есть в портежах. Да что там говорить?
> На данный момент PCC может быть использован для сборки большинства составляющих базовой системы FreeBSD, NetBSD и OpenBSD.
> большинства составляющих

Тоесть он даже не может собрать всё что есть в портах тех ОС для которых он пишется.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 16:06 
> Нет. В лучшем случае им можно собрать только около 40% что есть
> в портежах. Да что там говорить?
>> На данный момент PCC может быть использован для сборки большинства составляющих базовой системы FreeBSD, NetBSD и OpenBSD.
>> большинства составляющих
> Тоесть он даже не может собрать всё что есть в портах тех
> ОС для которых он пишется.

О портах в статье речь не идет, он не может собрать всю базовую систему, т.е. мир



"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено я , 03-Апр-11 16:53 
> ...он *не может* собрать всю базовую систему, т.е. мир.

Не пудрите мозги людям. Как раз базовую систему (мир) он собирает. Базовая система это ядро и минимальное окружение. В /usr/src кроме ядра разные утили, bind, ftpd, sshd и т. д. А в портах лежит прикладной софт к которому разработчики BSD уже никакого прямого отношения не имеют.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено AMD Man , 04-Апр-11 01:48 
А что у нас есть ещё с полной поддержкой C99?
GCC до сих пор не сподобился...
А уже новый стандарт языка на носу...

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено pavlinux , 05-Апр-11 13:53 
Можно примеры кода C99 не понимаемого GCC?!

Вот эту табличку не надо http://gcc.gnu.org/gcc-4.6/c99status.html
Код реальный, плиз.


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:25 
> Можно примеры кода C99 не понимаемого GCC?!
> Вот эту табличку не надо http://gcc.gnu.org/gcc-4.6/c99status.html
> Код реальный, плиз.

в кои-то веки соглашусть с павлином. то ли я деградирую, то ли павлин умнеет...


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено gegMOPO4 , 03-Апр-11 11:03 
Альтернативный свободный компилятор — это, конечно, хорошо, но более серьёзных тестов, чем сделанной почти год назад оценочной прикидки на небольшой выборке из ByteBench (в нём десятка два тестов), нет?

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено xl32 , 03-Апр-11 13:34 
Может, тесты и есть. Но они не собираются :-D

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Sinot , 03-Апр-11 11:04 
> Процесс компиляции осуществляется в несколько раз быстрее, чем в GCC, при приемлемом уровне кода на выходе.

То есть PCC быстрее, а дальше

> Например, сборка тестового комплекта ByteBench, выполненная при помощи gcc 4.1.3 (режим оптимизации "-O2") оказалась в большинстве тестов лишь на несколько процентов быстрее сборки с использованием PCC (исключение составил тест dhry2reg, при котором PCC отстал почти в два раза и тест hanoi, при котором отставание было на уровне 30%).

То есть PCC медленнее. о_О Поясните пожалуйста где ошибка? Или PCC медленнее только с этим пакетом?


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 11:33 
быстрее при сборке, код немного медленнее на выходе

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 13:49 
Здесь работает простой принцип: чем дольше запрягаешь - тем быстрее едешь

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено x0r , 03-Апр-11 11:17 
уже есть clang.  этот по сравнению с clang - совсем не серьезно, и не понятно когда будет готов

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено mapron , 03-Апр-11 11:20 
Больше компиляторов, хороших и разных!
Один продукт в одной нише - отсутствие конкуренции - застой. Ну уж нет.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 11:22 
>отсутствие конкуренции

её и так не будет. PCC не конкурент никак.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 11:59 
Типичная позиция красноглазика не понимающего зачем пишут программы сложнее hello world.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено vle , 03-Апр-11 13:15 
> Типичная позиция красноглазика не понимающего зачем пишут программы сложнее hello world.

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

Знаешь, есть такая штука -- отношение
ценность/затраченные_усилия_по_написанию_и_поддержке_кода.
Так вот у pcc этот показатель очень высок.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 14:11 
>разрабатывается с 70-ых годов прошлого века.

http://pcc.ludd.ltu.se/pcc_history/
It was publicly announced to the NetBSD community on September 14, 2007. Shortly later it was imported to the OpenBSD, NetBSD, and pkgsrc source trees.
Most stuff is written by Anders Magnusson


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 11:21 
>выполненная при помощи gcc 4.1.3

а с 2.95 сравнить не хотят? на дворе 2011 год, 4.6.0 вышел.

В целом оно не нужно, есть clang(llvm)


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено d , 03-Апр-11 12:00 
так ведь бсдшники всегда с 1913 годом сравнивают

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено онином , 03-Апр-11 12:08 
Как сказать, в той же FreeBSD вероятно теперь gcc отправят в систему портов из базовой системы, как это когда-то произошло с Perl. Базовая система быстрее будет собираться благодаря этому. А исходный код BSD-систем скорее всего начнут оптимизировать под pcc. Так что для BSD-систем плюсы есть, для остальных они пока сомнительны.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено arcade , 03-Апр-11 12:16 
Исходный код FreeBSD написан на ISO-стандартном языке. Коммит gcc'измов запрещён. Оптимизировать под "ещё один компилятор" никто не будет.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено онином , 03-Апр-11 12:21 
> Коммит gcc'измов запрещён.

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


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено rico , 03-Апр-11 23:48 
три

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 03-Апр-11 14:05 
> Исходный код FreeBSD написан на ISO-стандартном языке. Коммит gcc'измов запрещён. Оптимизировать
> под "ещё один компилятор" никто не будет.

Как обычно, в теории все круто а на практике - ну вы в курсе, да? Система без софта под нее - и даром никому не нужна. Осталось только убедить авторов прикладух не юзать gcc'измы, и дело в шляпе :)


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено iZEN , 03-Апр-11 14:31 
>> Исходный код FreeBSD написан на ISO-стандартном языке. Коммит gcc'измов запрещён. Оптимизировать
>> под "ещё один компилятор" никто не будет.
> Как обычно, в теории все круто а на практике - ну вы
> в курсе, да? Система без софта под нее - и даром
> никому не нужна. Осталось только убедить авторов прикладух не юзать gcc'измы,
> и дело в шляпе :)

Прикинь: FreeBSD полноценно работает без ПО, собранного GCC из коллекции портов (тупо каталог /usr/local пуст). При этом может работать роутером (IPF, PF, IPFW) и файлсервером (NFS, FTP), работает SSH, пользовательская консоль (sh, tcsh).
Заметь: GCC для поднятия этого УЖЕ не нужен!



"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 04-Апр-11 01:58 
> каталог /usr/local пуст). При этом может работать роутером (IPF, PF, IPFW)

Ололо :) у меня роутер работал даже когда libc убился. Кернелу на это libc и прикладной крап вообще плевать :) оно там живет своей жизнью, пакетики гоняет. Правда, боюсь что мало кто разделит такой оптимизм.

> и файлсервером (NFS, FTP), работает SSH, пользовательская консоль (sh, tcsh).

Ну прямо достижения дедов и прадедов повторили. Круто, круто! :)))

> Заметь: GCC для поднятия этого УЖЕ не нужен!

Да вообще, хана этому праааааативному гцц, однозначно :).


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:31 
> Прикинь: FreeBSD полноценно работает без ПО, собранного GCC из коллекции портов (тупо
> каталог /usr/local пуст). При этом может работать роутером (IPF, PF, IPFW)
> и файлсервером (NFS, FTP), работает SSH, пользовательская консоль (sh, tcsh).
> Заметь: GCC для поднятия этого УЖЕ не нужен!

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


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено vle , 03-Апр-11 21:01 
>> Исходный код FreeBSD написан на ISO-стандартном языке. Коммит gcc'измов запрещён. Оптимизировать
>> под "ещё один компилятор" никто не будет.
> Как обычно, в теории все круто а на практике - ну вы
> в курсе, да? Система без софта под нее - и даром
> никому не нужна. Осталось только убедить авторов прикладух не юзать gcc'измы,
> и дело в шляпе :)

Авторы "пликладух" среагируют только тогда, когда разные компиляторы,
на горизонте появятся. И они появляются, clang и pcc, так что процесс УЖЕ идет.
Задача номер два -- пакетировщикам софта в дистрибутивах не
держать патчи у себя, а пинать апстрим as soon as possible.


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:28 
> Авторы «пликладух» среагируют только тогда, когда разные компиляторы,
> на горизонте появятся.

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


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено netch , 12-Апр-11 09:18 
> Исходный код FreeBSD написан на ISO-стандартном языке. Коммит gcc'измов запрещён.

Ну, честно говоря, это не совсем так, есть явные исключения - встроенный ассемблер, разнообразные __attribute__(). Именно поэтому основным путём сейчас рассматривается переход на clang (который старается уметь все расширения gcc), а не pcc, хотя весь userland стараются прогнать через другие компиляторы (и icc, и pcc, и TenDRA...) чтобы получить оценку проблем конкретных кусков.
Но это те gcc'измы, которые "неизбежное зло".


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Vitold S , 03-Апр-11 12:12 
> так ведь бсдшники всегда с 1913 годом сравнивают

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

Чего не скажешь о Apple и Microosft где каждый год новая идиотская идея убить все что было раньше и переписать по новой. в свое время я изучаю Quick Basic и писал на нем лабы, а спустя пару лет дети пишут лабы на Visual Basic, а сегодня Visual Basic .NET, а ведь для базового понимания алгоритмов эти все обвесы не нужны.

P.S. Мой поклон и уважение BSD-шникам. Ценим и любим!


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено d , 03-Апр-11 12:56 
При чём здесь эппл и быдло.нет? То, что бсдшники написали ещё один компилятор - это, безусловно, плюс. Но лицензионные проблемы - это их проблемы, они не должны сказываться на объективном сравнении компиляторов. Нужно сравнивать современные версии: 4.6 и 1.0, или 4.1.3 и что_там_было_у_pcc. Иначе 1913 год.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено q1 , 03-Апр-11 13:46 
И много дистрибутивов используют версию 4.6?

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено botman , 03-Апр-11 15:58 
Вы не с того конца зашли, даже в Debian oldstable входит GCC 4.3.2, а так кругом GCC 4.4.5 или около того... то что GCC 4.6 ещё не внедрили даже в testing-дистрибутивы вина его молодости, и это никак не связано с проблемами BSD-шников с их отношением к GPL3.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено denis111 , 03-Апр-11 17:44 
http://www.archlinux.org/packages/?sort=-last_update&q=gcc&m...

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено ImPressed , 03-Апр-11 12:27 
Больше компилеров, хороших и разных. Линус кстати в последнее время очень ругал GCC за оптимизацию кода, которая в некоторых случаях ломает бинарники и те вываливаются в Segmentation Fault ( сам пару раз вставал на такие грабли с -O0 код работает, даем -O2 в надежде выиграть пару % производительности, но при этом получаем SIGSEGV сразу же после старта). Наиболее часто бинарники валятся после борки с оптимизацией, если в коде были ассемблерные вставки.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено iZEN , 03-Апр-11 13:37 
> сам пару раз вставал на такие грабли с -O0 код работает, даем -O2 в надежде выиграть пару % производительности, но при этом получаем SIGSEGV сразу же после старта

Интересно, результаты компиляции PCC сравнивают с результатом компиляции под какой опцией GCC, с "-O0" или "-O2"?


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено астронимус , 03-Апр-11 16:03 
>сборка тестового комплекта ByteBench, выполненная при помощи gcc 4.1.3 (режим оптимизации "-O2")

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 04-Апр-11 02:11 
>>выполненная при помощи gcc 4.1.3

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



"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено mma , 04-Апр-11 07:04 
потомучто 4.1.3 это последняя версия которая устраивает бздунов по лицензии

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено тигар , 04-Апр-11 10:25 
> потомучто 4.1.3 это последняя версия которая устраивает бздунов по лицензии

прежде чем писать х.ню ознакомьтесь с вопросом. пожалуйста.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Dan , 03-Апр-11 16:05 
Поставил убунту на самособраное ядро с -O3. Как видишь вся ок. ЧАДНТ?

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено ImPressed , 03-Апр-11 17:18 
> Поставил убунту на самособраное ядро с -O3. Как видишь вся ок. ЧАДНТ?

Я уже писал выше - что все очень специфично к коду, который написан. У меня в генте например не хотел glib с высокими оптимизациями работать, на некоторые пакеты emerge выводил предупреждение, что он убирает -Ox и -march=/-mtune= из CFLAGS ввиду того что пакеты с этими  опциями сборки некорректно работают.
Ядро и с -O6 неплохо собирается, вот только толку особого от этого нет=)



"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено ананим , 05-Апр-11 08:42 
вот это:
>-march=/-mtune=

брехня. полная при чём.

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


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено ImPressed , 05-Апр-11 09:03 
> вот это:
>>-march=/-mtune=
> брехня. полная при чём.
> едиственное на что матюги видел - этого на оптимизацию с графитом.
> что в общем и логично.
> а матюги на архитектуру - это точно брехня.

glib (не glibc)с -mtune=generic -O0 собирается и hald/dbus работают без граблей, с -mtune=core2 -O3 собирается но не работают ( SegFault) hald и dbus.
Не знаю, может звезды были не в положении для emerge, но не работало - хоть убей.


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:38 
> Не знаю, может звезды были не в положении для emerge, но не
> работало - хоть убей.

потому что -O3 включает в себя некоторые "опасные" оптимизации. о чём написано в документации gcc, но чукчи же не читатели.


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:36 
> Ядро и с -O6 неплохо собирается, вот только толку особого от этого
> нет=)

конечно, нет, потому что цифра больше 3 в -O значит ровно то же самое, что и тройка. хоть -O9. за пруфами — welcome в исходники или список рассылки gcc, где этот вопрос с завидной пероидичностью задают.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 04-Апр-11 02:02 
> Поставил убунту на самособраное ядро с -O3. Как видишь вся ок. ЧАДНТ?

"Если вам кажется что дела идут хорошо, значит вы просто чего-то не заметили" (законы Мерфи). Как-то так исторически лично я натыкался на глюки после юзания -O3 у гцц. При том порой - на редкие и трудноуловимые. Оно, конечно, можно - всяких флагов навинтить. Только потом придется мозг ломать - чьи глюки: программы или компилятора. Заведомо стабильные оптимизации идут в -O2, а то что выше - на свой зад уже ;). Кстати данный тезис и бсдунов вполне касается - если они думают что баги есть только в GCC - они это, оптимисты-идеалисты, видимо :)


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено netch , 12-Апр-11 09:31 
>> Поставил убунту на самособраное ядро с -O3. Как видишь вся ок. ЧАДНТ?
> "Если вам кажется что дела идут хорошо, значит вы просто чего-то не
> заметили" (законы Мерфи). Как-то так исторически лично я натыкался на глюки
> после юзания -O3 у гцц. При том порой - на редкие
> и трудноуловимые. Оно, конечно, можно - всяких флагов навинтить. Только потом
> придется мозг ломать - чьи глюки: программы или компилятора. Заведомо стабильные
> оптимизации идут в -O2, а то что выше - на свой
> зад уже ;). Кстати данный тезис и бсдунов вполне касается -
> если они думают что баги есть только в GCC - они
> это, оптимисты-идеалисты, видимо :)

Ты тоже оптимист. Есть широко известный глюк gcc 2.9* при сборке squid при -O1 или -O3, но не -O2 :)

Вообще отношение к оптимизациям у  gcc некорректное. Во-первых, хотя info говорит, что эти уровни разлагаются на кучу отдельных параметров, в коде дофига прямых проверок типа if (optimize > 0). Во-вторых, при -O1 уже уезжают номера строк, а при -O0 может генерироваться 10 команд с пинг-понгом между регистрами, запись в стек и вычитка записанного обратно, и т.д.; в результате код дико неэффективен. Правильного же промежуточного уровня - какие угодно оптимизации, но в пределах отрезка кода между двумя sequence point - там нет.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено ImPressed , 12-Апр-11 09:36 
>[оверквотинг удален]
> Ты тоже оптимист. Есть широко известный глюк gcc 2.9* при сборке squid
> при -O1 или -O3, но не -O2 :)
> Вообще отношение к оптимизациям у  gcc некорректное. Во-первых, хотя info говорит,
> что эти уровни разлагаются на кучу отдельных параметров, в коде дофига
> прямых проверок типа if (optimize > 0). Во-вторых, при -O1 уже
> уезжают номера строк, а при -O0 может генерироваться 10 команд с
> пинг-понгом между регистрами, запись в стек и вычитка записанного обратно, и
> т.д.; в результате код дико неэффективен. Правильного же промежуточного уровня -
> какие угодно оптимизации, но в пределах отрезка кода между двумя sequence
> point - там нет.

Согласен, оптимизатор в GCC иногда настолько суров и беспощаден, что бинарь после компиляции валится в кору, особенно если со всякими -ffast-math -O3 -funroll-all-loops -falign-* перемудрить.


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:34 
> такие грабли с -O0 код работает, даем -O2 в надежде выиграть
> пару % производительности, но при этом получаем SIGSEGV сразу же после старта).

а что на это говорят -Wall и valgrind?

> Наиболее часто бинарники валятся после борки с оптимизацией, если в коде были ассемблерные вставки.

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


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено ImPressed , 12-Апр-11 09:39 
>> такие грабли с -O0 код работает, даем -O2 в надежде выиграть
>> пару % производительности, но при этом получаем SIGSEGV сразу же после старта).
> а что на это говорят -Wall и valgrind?
>> Наиболее часто бинарники валятся после борки с оптимизацией, если в коде были ассемблерные вставки.
> удивительно, не так ли? а не надо их писать, если не знаешь,
> какой код компилятор нагенерит.

Ваши бы слова да богу в уши=). Иногда без инлайнового ассемблера просто не обойтись, вот и приходится изощряться.


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 12-Апр-11 10:31 
> Ваши бы слова да богу в уши=). Иногда без инлайнового ассемблера просто
> не обойтись, вот и приходится изощряться.

в отдельную либу, её с -O0, не забыть пояснить компилятору, какие регистры дохлые.

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


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено ImPressed , 12-Апр-11 10:39 
>> Ваши бы слова да богу в уши=). Иногда без инлайнового ассемблера просто
>> не обойтись, вот и приходится изощряться.
> в отдельную либу, её с -O0, не забыть пояснить компилятору, какие регистры
> дохлые.
> кстати, а можно поинтересоваться: зачем инлайн-асм? именно вот вмонтированый в сишный исходник
> асм мне — дай демона памяти — за 10+ лет ни
> разу не понадобился. вообще, могу вспомнить только случаи конверсии бэкбуфера в
> разный BPP да софтварного текстуризатора — там пришлось асм делать.

Была задачка надо было с MSR-регистрами работать с юзерленда. Отдельную либу городить - муторно, а пару __asm__ volatile () втыкнуть в код функции много проблем не доставляло.
И второй случай из недавнего читалка TSC-регистра (а-ля команда RDTSC) дабы сэкономить пару байт ( функция как раз кончалась на этой ассемблерной вставке) эпилог функции был перенесен мною в эту самую многострадальную __asm__ volatile(), с -O0 все прекрасно, даже с просто -O Segmentation Fault. Как мне кажется GCC делает оптимизацию работы со стеком и мой выкрутас поломал логику оптимимзатора ( хотя не должен был) и я получил SegFault.

Ну тут может и я был ССЗБ, но как мне кажется результат все равно должен был быть удобоваримым. В задачке с TSC нужно было реализовать софтварный HPET-таймер с завязкой на Timestamp counter процессора. Пришлось в качестве решения проблемы убирать эпилог функции из __asm__() и дать компилеру построить его самому.


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено netch , 12-Апр-11 11:25 
> И второй случай из недавнего читалка TSC-регистра (а-ля команда RDTSC) дабы сэкономить
> пару байт ( функция как раз кончалась на этой ассемблерной вставке)
> эпилог функции был перенесен мною в эту самую многострадальную __asm__ volatile(),
> с -O0 все прекрасно, даже с просто -O Segmentation Fault. Как
> мне кажется GCC делает оптимизацию работы со стеком и мой выкрутас
> поломал логику оптимимзатора ( хотя не должен был) и я получил
> SegFault.

Эпилог - да, делать точно не стоило.
Просто описать команду и результаты.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено yantux , 03-Апр-11 12:37 
Захотел попробовать скачать под ms windows-не нашёл бинарников.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Аноним , 03-Апр-11 13:47 
Ого! Вот это новость. Я уже думал, что ту яму не найдут и не откопают. А оно эвон как вышло.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Анонимно , 03-Апр-11 16:03 
Зачем сейчас ещё один компилятор С на С? Уже десять раз бы обогнали всех по качеству генерируемого бинарника, если бы на джаваскрипте писали или схеме.

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено ImPressed , 03-Апр-11 17:19 
> Зачем сейчас ещё один компилятор С на С? Уже десять раз бы
> обогнали всех по качеству генерируемого бинарника, если бы на джаваскрипте писали
> или схеме.

Что мелочиться, давайте уж тогда на Барсике от ZX-Spectrum напишем =)


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Michael Shigorin , 03-Апр-11 18:37 
(off) Барсик же вроде для писишек, а не спектрумов, заявляли? :)

http://www.gamedev.ru/code/forum/?id=90972&page=2#m21

PS: вообще да, они б по скорости кода ещё с пресловутым 2.7.x.y сравнили...


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено z , 03-Апр-11 21:48 
Новые версии GCC далеко не всегда и не во всём быстрее старых (как по времени компиляции так и покачеству герерируемого кода), проверено не раз на scimark2k

"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 04-Апр-11 02:04 
> (off) Барсик же вроде для писишек, а не спектрумов, заявляли? :)
> http://www.gamedev.ru/code/forum/?id=90972&page=2#m21

О, кто-то тоже видел этот доисторический "Power Saving" и "умный дом", все в одном. Новое - это хорошо забытое старое...  


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено anonymous vulgaris , 04-Апр-11 02:37 
> (off) Барсик же вроде для писишек, а не спектрумов, заявляли? :)

GLBasic
Write a program once, then compile for Windows, Apple Mac OS X. Start your iPhone development, Linux, PocketPC (Smartphone and Windows Mobile) and GP2X/Wiz without changing the source code at all.
http://www.glbasic.com/


DarkBASIC - The Ultimate 3D Games Creator
DarkBASIC allows you to create your own games, demos, slideshows, even business applications using the easy to understand BASIC programming language. Even if you've never coded before, just follow the in-depth tutorials and you'll be generating results in minutes! Harness the power of Direct X and make 3D objects come to life in just a few simple commands.
http://www.thegamecreators.com/?m=view_product&id=2030


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Анонимно , 03-Апр-11 19:20 
>Что мелочиться, давайте уж тогда на Барсике от ZX-Spectrum напишем

Используют же lex, yacc, что сейчас мешает использовать более подходящий, нежели C, способ работы с деревьями?


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено Mna , 06-Апр-11 14:43 
> Используют же lex, yacc, что сейчас мешает использовать более подходящий, нежели C,
> способ работы с деревьями?

Это JavaScript или Scheme на деревья ориентированный? а получше ничего нет??


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено User294 , 04-Апр-11 02:10 
> если бы на джаваскрипте писали

Угу, так и представляю себе компилер с временем запуска оного как у браузеров... oO


"Релиз компилятора PCC 1.0.0, распространяемого под..."
Отправлено anonymous , 06-Апр-11 15:43 
> Угу, так и представляю себе компилер с временем запуска оного как у
> браузеров... oO

то есть, мгновенно, как моя опера? нормально, устраивает.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено netch , 12-Апр-11 09:27 
> Зачем сейчас ещё один компилятор С на С? Уже десять раз бы
> обогнали всех по качеству генерируемого бинарника, если бы на джаваскрипте писали
> или схеме.

1. На Javascript - точно не обогнали бы. А какая-то специфическая форма LISP у gcc внутрях, используется на всю катушку, но супер-достижений не видно. Просто почти оптимум.
2. Независимая простая реализация в качестве контрольной - обязательная штука в сложных системах. Как-то даже для сравнительно простой криптографии я писал 4 реализации: C/OpenSSL, C/GnuTLS, Python и Erlang. Зато в результате я смог каждому участнику дать все 4 и сказать "вот канонический набор реализаций, сдирай код сколько угодно, но твоя реализация должна давать идентичный результат". А компиляторы диагностировать обычно сложнее криптографии.


"Релиз компилятора PCC 1.0.0, распространяемого под лицензией..."
Отправлено iZEN , 07-Апр-11 01:12 
Обновился порт lang/pcc на FreeBSD: http://www.freshports.org/lang/pcc/