The OpenNET Project / Index page

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

Разработчики компилятора PCC начали процесс подготовки релиза 1.0

24.02.2011 11:59

Представлена бета версия будущего первого стабильного релиза компилятора PCC (Portable C Compiler), развиваемого с целью создания распространяемой под лицензий BSD альтернативы Си-компилятора из состава GCC. По заявлению разработчиков в представленном бета-выпуске устранены все серьезные ошибки, которые ранее мешали подготовке первого релиза. Версия PCC 1.0 будет полноценно поддерживать архитектуры i386 и amd64, для остальных архитектур функциональность пока ограничена. Компилятор уже можно использовать для пересборки FreeBSD, NetBSD и OpenBSD.

PCC распространяется в рамках лицензии BSD и нацелен на создание полноценного компилятора для языка Си, полностью совместимого со стандартом C99 и частично совместимого с GCC. PCC является в значительной степени переработанным вариантом компилятора Portable C Compiler, разработанного S. C. Johnson в конце 70-х годов прошлого века. Основным разработчиком проекта является Anders Magnusson из команды NetBSD. Процесс компиляции осуществляется в несколько раз быстрее, чем в GCC, при достаточно сносном коде на выходе. Например, сборка тестового комплекта ByteBench, выполненная при помощи gcc 4.1.3 (режим оптимизации "-O2") оказалась в большинстве тестов лишь на несколько процентов быстрее сборки с использованием PCC (исключение составил тест dhry2reg, при котором PCC отстал почти в два раза и тест hanoi, при котором отставание было на уровне 30%).

  1. Главная ссылка к новости (http://marc.info/?l=pcc-list&m...)
  2. OpenNews: В компиляторе PCC обеспечена возможность сборки FreeBSD
  3. OpenNews: Свободный компилятор PCC доведен до состояния, позволяющего собрать ядро OpenBSD
  4. OpenNews: В компиляторе PCC появилась поддержка архитектуры AMD64
  5. OpenNews: В состав NetBSD и OpenBSD включен Си компилятор PCC с лицензией BSD
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/29701-PCC
Ключевые слова: PCC, gcc, compile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (53) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Mike Lee (?), 12:16, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    какой смысл сравнивать с gcc 4.1.3?
     
     
  • 2.3, tallman (?), 12:22, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    следующие релизы gcc перешли на GPLv3.
     
     
  • 3.6, Andrey Mitrofanov (?), 12:38, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > следующие релизы gcc перешли на GPLv3.

    Не угадал, вторая попытка.

    "GCC 4.2.1 will be the last release of GCC covered by version 2 of the GNU General Public License. All future releases will be released under GPL version 3."

     
     
  • 4.12, tallman (?), 13:18, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    он идёт по умолчанию в последнем релизе netbsd?
     
  • 2.33, anonymous (??), 23:43, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > какой смысл сравнивать с gcc 4.1.3?

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

     

  • 1.5, анон (?), 12:36, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Дайте угадаю, финансируют этот проект несколько крупных проприетарных вендоров, которым невыгодно развитие gcc?
     
     
  • 2.8, www2 (??), 12:50, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    И в чём же профит? Назло маме отморожу уши, что-ли?
     
  • 2.29, maxkit (ok), 18:40, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А теперь внимание вопрос: как появление нового компилятора помешает развиваться GCC?
     

  • 1.10, Аноним (-), 12:54, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надеюсь, они напишут ещё и для C++ компилятор.
     
     
  • 2.30, 1 (??), 19:00, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    а что в операционных систамах *bsd написано на c++?
     
     
  • 3.46, Аноним (-), 13:30, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А что, этот компилятор предназначен для компилирования исключительно дистрибутивов BSD-систем?
     
  • 3.48, Aquarius (ok), 03:56, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Qt, GTK+, KDE, GNOME, в общем, в основном, то же, что и в Linux
     
     
  • 4.49, anonymous (??), 04:01, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    GTK+ на цпп? O_O
     
     
  • 5.50, Aquarius (ok), 04:06, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > GTK+ на цпп? O_O

    случайно зацепил

     
  • 2.34, anonymous (??), 23:44, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Надеюсь, они напишут ещё и для C++ компилятор.

    зачем? O_O

     

  • 1.11, Аноним (-), 12:58, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Так а в чем профит в PCC для *BSD, если есть clang?
     
     
  • 2.13, Толстый (ok), 13:46, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    как и во всем остальном опенсорсе - изобрести свой велосипед.
     
     
  • 3.14, Аноним (-), 13:52, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    (зеваю) Не совсем точно. Точнее - изобрести свой собственный способ, один из тысячи - дрочить вприсядку.
     
     
  • 4.17, СуперАноним (?), 14:16, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ребятки, ну не нравится вам этот опенсорс, пользуйтесь вендой и пирацким софтом, ё-моё. И go to на соответствующие форумы.
     
  • 2.18, pkunk (ok), 14:33, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    портабельность и поддерживаемые архитектуры
     
     
  • 3.19, gegMOPO4 (ok), 14:45, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > полноценно поддерживать архитектуры i386 и amd64, для остальных архитектур функциональность пока ограничена

    Пока что Portable только в названии.

     
     
  • 4.35, anonymous (??), 23:46, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Пока что Portable только в названии.

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

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

     
     
  • 5.41, gegMOPO4 (ok), 00:41, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, да я не сомневаюсь, что PCC портируют на большинство платформ, поддерживаемых NetBSD, как только разработчики получат полноценный доступ к аппаратуре. Но пока что эта возможность потенциальная.

    Кстати, не исключено, что при портировании на какие-то очень экзотические архитектуры (типа Креев) PCC столкнётся с необходимостью переписать все кишки и приблизиться по сложности к gcc. Но до этого вряд ли дойдёт.

     
     
  • 6.43, anonymous (??), 00:47, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, не исключено, что при портировании на какие-то очень экзотические архитектуры (типа
    > Креев) PCC столкнётся с необходимостью переписать все кишки и приблизиться по
    > сложности к gcc. Но до этого вряд ли дойдёт.

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

     
  • 3.21, Аноним (-), 15:06, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Портабельны все свободные компиляторы. А поддержка архитектур у PCC нулевая. Плюс отсутствие C++. Не знаю зачем это поделие может понадобится.
     
     
  • 4.36, anonymous (??), 23:47, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Портабельны все свободные компиляторы.

    у меня есть компилятор MyKoolLanguage. он свободный. вот только все внутренности заточены на i386. хорошо заточены. «портирование» его будет равносильно переписыванию почти с нуля. итого: твоё утверждение — ложь. зачем ты прилюдно лжёшь?

     
  • 4.37, anonymous (??), 23:48, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Плюс отсутствие C++. Не знаю зачем это поделие может понадобится.

    согласен: тоже никак не могу понять, на кой этот цпп нужен.

     
  • 2.23, gegMOPO4 (ok), 15:16, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Главный профит в том, что это заставит и clang, и gcc шевелиться ещё быстрее.

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

     
  • 2.24, User294 (ok), 15:29, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Так а в чем профит в PCC для *BSD, если есть clang?

    Наверное фокус в том что шланг развивается эпплом. И разработчики все в эппле. А эппл как-то так хотел на проблемы бздунов и всех остальных вместе взятых класть с прибором. Если посмотреть на направление развития - видно что первым делом шланг пилится под макось. Что как бы чертовски логично, но совершенно бесполезно всем кто не эппл...

     
     
  • 3.26, iZEN (ok), 16:03, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Clang уже может откомпилировать WebKit?
     
  • 3.28, Аноним (-), 17:24, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну здасте, как раз для сборки FreeBSD его пилили очень активно. А gcc-шники как раз ложили с прибором, начиная с перехода на GPL3.
     
     
  • 4.38, anonymous (??), 23:49, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    более того: гццшникам вообще пробор — затачивать компилятор для сборки конкретной системы. а то, что бздоиды не в состоянии использовать софт под GPLv3 — это интимные проблемы бздоидов. гпльщики BSDL-софт отлично используют, если надо, и не напрягаются.
     
  • 2.25, iZEN (ok), 16:00, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    PCC маленький. Поддерживать легче.
     
     
  • 3.32, Ytch (?), 23:22, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >PCC маленький. Поддерживать легче.

    Поддерживать легче то, в чем хорошо разбирается большее количество людей. По соотношению ("размер community" / "размер компилятора") gcc пока "зарулит" кого угодно.

     
     
  • 4.51, nuclight (ok), 16:47, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>PCC маленький. Поддерживать легче.
    > Поддерживать легче то, в чем хорошо разбирается большее количество людей. По соотношению
    > ("размер community" / "размер компилятора") gcc пока "зарулит" кого угодно.

    А в кишки gcc посмотреть, ы? У gcc большой размер community _пользователей_, но не разработчиков.

     
     
  • 5.52, Ytch (?), 22:51, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >У gcc большой размер community _пользователей_, но не разработчиков.

    Этот тезис особенно ярко "подтверждает" перечень поддерживаемых платформ и ОС (и это еще не считая поддержку различных языков программирования и кучи вариантов стандартов на них). Конечно для таких тривиальных вещей вовсе не надо чтобы туева хуча людей хорошо разбиралась "в потрохах".

    Явное нарушение элементарной логики получается. С одной стороны (слова разных людей): "gcc спроектирован и написан самым ужасным образом", "GPL самая хреновая в мире лицензия", "У gcc большой размер community _пользователей_, но не разработчиков" и т. п. С другой строны (факты): самый большой перечень поддерживаемых платформ и ОС, самый большой перечень поддерживаемых языков и их стандартов/диалектов, быстрей чем у всех появляется поддержка новой платформы (кроме, может, компилера производителя самой платформы), и т. п. Что в итоге? Переть против фактов? Нет. По ходу, слова не совсем соответствуют действительности! А почему? Потому что больше половины говорящих такое, просто повторяют чужие слова (не думаю, что больше 20% людей говорящих про кошмарный дизайн и реализацию gcc реально смотрели/разбирались в его внутренностях).

     
     
  • 6.53, nuclight (ok), 23:51, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно не надо, за 20 лет истории-то Да и за эти годы, что имеем freebsd72 u... большой текст свёрнут, показать
     
     
  • 7.55, Ytch (?), 13:39, 27/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Вы поройтесь на форуме, ембедщики жаловались на то, какой скверный код делает gcc для ряда архитектур. Из чего можно сделать вывод, что нормально майнтейнятся только некоторые из платформ.

    Мне для этого не надо рыться на форумах. Вполне естественно, что одни платформы майнтейнятся лучше чем другие, на это очень много очевидных причин. Вы лучше поспрашивайте ембедщиков, пишуших для платформ, не поддерживаемых gcc совсем. Ключевые моменты: "сколько стоит копать такую платформу (после истечения trial-версий средств разработки)", "насколько портабельным получается код (точнее, сколько дополнительных усилий надо затратить чтоб код был хоть сколько-нибудь портабельным)" и следствие "как много информации можно найти в интернете о всяких тонкостях и особенностях платформы и разработки под нее".

    >> самый большой перечень поддерживаемых языков и их стандартов/диалектов,  
    >Лолшто? Среди кого? Поддерживаемые gcc языки - капля в море.

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

    >Особенно насмешило "и куча вариантов стандартов на них" - будто бы там неиллюзорно большие отличия.

    Какие бы они ни были "иллюзорные", но факт в том, что gcc их поддерживает, а другие, чаще всего, нет.

     
     
  • 8.56, nuclight (ok), 17:31, 27/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Копать от нефиг делать или работу работать Во втором случае зарабатываются день... большой текст свёрнут, показать
     
     
  • 9.62, Ytch (?), 23:58, 27/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Если под от нефиг делать подразумевается безо всякой цели , то вы видимо не о... текст свёрнут, показать
     
     
  • 10.63, nuclight (ok), 01:08, 28/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А подумать над тем, что я написал Если показала - т е период опробования про... текст свёрнут, показать
     
     
  • 11.64, Ytch (?), 21:18, 28/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я не настолько хорошо владею вопросами, например, относительно NetBSD и фортрана... текст свёрнут, показать
     
     
  • 12.66, nuclight (ok), 19:55, 01/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Видите ли, вопросы лицензий и затрат на освоение обучени... текст свёрнут, показать
     
     
  • 13.67, Ytch (?), 00:48, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    На это можно очень много чего сказать Много общих и в основном правильных сло... большой текст свёрнут, показать
     
     
  • 14.68, nuclight (ok), 19:45, 11/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Возражение ясное, но, на самом деле, так _не дол... большой текст свёрнут, показать
     

  • 1.22, gegMOPO4 (ok), 15:08, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    О сравнении с gcc писать, мягко говоря, преждевременно. Во-первых, использовано всего 7 микротестов из ByteBench, а не полный комплект (и в 2 из 7 gcc уделывает pcc в 1.5-2 раза). Во-вторых, тесты проведены всего для одной архитектуры (не указано на какой, но судя по всему, это i386). В-третьих, по времени сборки gcc отстаёт менее, чем вдвое (судя по следующей серии тестов), "в несколько раз" -- выражение, вводящее в заблуждение.

    Вот когда будет проведены полные серии нескольких специализированных тестов, а также сборка больших реальных приложений (от числодробилок и компиляторов до серверов и драйверов) для всех поддерживаемых архитектур, вот тогда можно будет смотреть и сравнивать. Для gcc следует также сравнить с флагом -O1 (ради скорости сборки) и с заточкой под более современные процессоры, чем Intel 80386.

     
  • 1.27, Аноним (-), 17:18, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень хорошо, больше компиляторов, хороших и разных. Глядишь, все и начнут писать по стандарту, без костылей под конкретный компилятор.
     
     
  • 2.31, Аноним (-), 23:15, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше уж доработать стандарт. В С99 фигни какой-то надобавляли, неслучайно его не очень рвутся реализовывать, M$ & IBM вообще, по-моему, проигнорировали... Я когда глянул GNU-расширения C, так и разинул варежку - их-то мне и не хватало всю жизнь
     
     
  • 3.39, anonymous (??), 23:52, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    потому что стандарты пишут сферические комитеты в вакууме. а gcc пилят люди, которым потом на нём софт писать. и поэтому люди добавляют то, что просто напрашивается, но сквозь сферический комитет не проходит.

    конечно, vendor lock-in, но мой софт не под gcc, например, не соберётся. именно потому, что ради абстрактной «переносимости между компиляторами» я не собираюсь отказываться от вкусных расширений gcc или пересыпать код уродливыми ифдефами.

     
     
  • 4.40, Аноним (-), 00:30, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Для GNU-расширений (хотя и не для всех) можно реализовать препроцессор, выплевывающий абсолютно удовлетворяющий стандарту сорц. Проблема тут как бы вообще отпадает )
     
     
  • 5.44, anonymous (??), 00:54, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а можно и сразу нативный код, да. но, например, для nested functions или compounds результирующий код будет ужосом. а для typeof так и вообще придётся полный фронтэнд делать, и все исходники проекта препроцессить.

    по количеству требуемых усилий это сопоставимо с написанием нового компилятора, тащемта (не уровня gcc, но уровня lcc3 вполне, например).

    это если ещё не учитывать, что результирующий выхлоп будет очень больно совать в отладчик.

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

     
  • 4.42, gegMOPO4 (ok), 00:46, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, фигни в gcc всё же тоже добавили. Потом пришлось депрекатить и откатывать.
     
     
  • 5.45, anonymous (??), 00:59, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, фигни в gcc всё же тоже добавили. Потом пришлось депрекатить и
    > откатывать.

    так никто и не говорит, что там всё идеально. а депрекатили в основном те фичи, которые у gcc были до стандарта, а потом в стандарт их тоже добавили, но чуть-чуть не так (или они пошли вразрез со стандартом).

    ну, и малоизвестные штуки типа int x = x; использовать не рекомендуют (к счастью, о них вообще мало кто знает).

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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