The OpenNET Project / Index page

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

18.06.2018 11:26  Открыт код C++ компилятора Zapcc

Израильская компания Ceemple Software открыла исходные тексты C++ компилятора Zapcc, основанного на наработках Clang/LLVM и отличающегося очень высокой скоростью компиляции, благодаря активному применению кэширования различных этапов сборки. Компилятор может выступать в роли прозрачной замены clang и gcc, и поддерживает интеграцию с любыми системами сборки. Исходные тексты открыты под лицензией LLVM.

Особенно заметное увеличение скорости сборки наблюдается для проектов на C++ с большим числом заголовочных файлов с шаблонами, таких как ScyllaDB, Webkit и LLVM. Для проектов на Си ускорение менее заметно. Например, при тестировании производительности типовая повторная пересборка Boost.Math при помощи Zapcc производится в 10-50 раз быстрее по сравнению с Clang, а время полной сборки WebKit быстрее в 2-5 раз. Сборка Clang при помощи Zapcc выполняется в два раза быстрее, чем сборка Clang при помощи Clang. По умолчанию для кода на языке Си кэширование отключается, поэтому компилятор Zapcc актуален только для проектов на C++.

Высокая скорость сборки достигается применением специального фонового процесса (zapccs), непосредственно выполняющего компиляцию и поддерживающего в оперативной памяти кэш компиляции, в котором между разными запусками сохраняется информация о всех этапах сборки. В том числе сохраняются результаты разбора заголовочных файлов и сгенерированный для шаблонов код. В процессе сборки запускается приложение zapcc, поддерживающее полный набор опций Clang и выступающее в роли клиента к серверу zapccs. Запуск сервера осуществляется автоматически. Качество и производительность итогового генерируемого кода аналогичны Сlang.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Увидел свет оптимизирующий свободный компилятор Open64 5.0
  3. OpenNews: Оптимизация кода компилятором может привести к появлению проблем безопасности в приложениях
  4. OpenNews: Релиз компилятора PCC 1.1.0
  5. OpenNews: Компания PathScale открыла под лицензией GPL высокопроизводительные GCC-совместимые компиляторы EKOPath
  6. OpenNews: Дэниэл Бернштейн выступил с инициативой создания Си-компилятора для защищённого ПО
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: clang, llvm, zapcc, compile, cache, optimization
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.2, X4asd, 12:09, 18/06/2018 [ответить] [смотреть все]    [к модератору]
  • +8 +/
    > Высокая скорость сборки достигается применением специального фонового процесса (zapccs), который поддерживает в оперативной памяти кэш компиляции, в котором сохраняется информация о всех этапах сборки между разными запусками компилятора

    взяли моду -- держать в памяти запущенным компилятор.

    а без этого ни как нельзя?

     
     
  • 2.6, Anonymoustus, 12:20, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +46 +/
    Можно — если пересадить девелоперз на пентиум-2, при котором 32 МБ ОЗУ, а вместо SSD дать HDD через ATA 33. Что-то мне подсказывает, что после таких исцеляющих перемен у многих поубавилось бы прыти проектировать «космос», а большинство вылетело бы «вон из профессии»©.
     
     
  • 3.10, Аноним, 12:39, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]
  • –7 +/
    Судишь по собственному опыту?
     
  • 3.35, IRASoldier, 13:39, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]
  • –1 +/
    (#сарказм, #издевательское_сочувствие) Дауншифтинг?
     
     
  • 4.40, Andrey Mitrofanov, 13:56, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]
  • –4 +/
    Предже чем сам, убедись, что не стоишь под стрелой винтернетениктонеможетвсар... весь текст скрыт [показать]
     
  • 4.112, анон, 22:17, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    ты {-# LANGUAGE MagicHash -#} забыл
     
  • 4.150, Anonymoustus, 10:38, 20/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Ничуть Берём для сравнения популярную программу 8212 допустим, Microsoft Wor... весь текст скрыт [показать]
     
  • 3.108, Аноним, 21:21, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Можно конечно, только зачем Если такое решение помогает быстрее компилировать к... весь текст скрыт [показать]
     
     
  • 4.133, Это я, 11:06, 19/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    electron и пользовательские приложения на java - это глупость
     
     
  • 5.141, Аноним, 19:14, 19/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    приложений на java и нет почти
     
  • 5.144, Вареник, 03:17, 20/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    - Еще один эксперт не может отличить Java от JS Пользовательское UI на JS пишет... весь текст скрыт [показать]
     
  • 2.12, Crazy Alex, 12:43, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +2 +/
    А в чём проблема, собственно?
     
     
  • 3.21, Xasd, 13:01, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    в том что есть подозрение что там наделали кучу ошибок и дыр, при реализации так... весь текст скрыт [показать]
     
     
  • 4.32, Anonymoustus, 13:29, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Вообще любые кеши 8212 зло по определению Ибо делают согласованность в широ... весь текст скрыт [показать]
     
     
  • 5.95, Аноним, 19:11, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    кто-то не смог в теорию графов
     
     
  • 6.120, Аноним, 06:50, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А вы не смейтесь, нам на экономическом вышку совсем по другому преподавали, так ... весь текст скрыт [показать]
     
  • 5.103, Vkni, 20:32, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Кеши вещь нормальная и хорошая Но вот компиляторы обычно пишутся в расчете на о... весь текст скрыт [показать]
     
  • 5.146, cutlass, 05:09, 20/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    там где есть конкурирующие процессы согласованность всегда иллюзорна.
     
  • 4.53, Ordu, 14:39, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Прежде чем обсуждать угрозы, надо представить себе модель атаки Вот допустим, я... весь текст скрыт [показать]
     
  • 4.102, Vkni, 20:29, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +4 +/
    Категорически поддерживаю Я с одной стороны видел потроха разных компиляторов, ... весь текст скрыт [показать]
     
     
  • 5.145, Вареник, 03:23, 20/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Я однажды столкнулся с их IDE компиллятором Kylix Borland C для Linux Это б... весь текст скрыт [показать]
     
     
  • 6.158, Vkni, 07:00, 22/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Я однажды столкнулся с их IDE/компиллятором Kylix (Borland C++ для Linux).

    Ну это даже значительно хуже, чем обычно.

    Но вот Трубо Паскакаль у них был отличным. Даже на ХТ компилировал очень быстро.

     
  • 4.136, Аноним, 16:07, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Я тоже всегда говорил - нефиг писать программы А то мало ли чего можно понаписа... весь текст скрыт [показать]
     
     
  • 5.151, Andrey Mitrofanov, 10:52, 20/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Я тоже всегда говорил - нефиг писать программы. А то мало ли
    > чего можно понаписать. Кучу ошибок наделать и дыр. Лучше вообще ничего
    > не делать - так оно лучше будет.

    +много!  Надо держаться,

     
     
  • 6.153, Anonymoustus, 11:28, 20/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    «Денег нет, но вы держи́тесь».
     
  • 2.61, Аноним, 15:06, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    >а без этого ни как нельзя?

    Можно, но будет медленнее.

     
  • 1.3, Аноним, 12:11, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    Скорость это хорошо, а вот правильно собирает то?
     
     
  • 2.7, Anonymoustus, 12:21, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Отличный вопрос, анон Как раз хотел написать о том же ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.67, Аноним, 15:14, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +5 +/
    Как раз хотел написать о том, что хотел задать тот же вопрос, но ты меня опереди... весь текст скрыт [показать]
     
  • 2.9, Аноним, 12:25, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Только "собирает-то".
     
  • 2.11, Аноним, 12:42, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –7 +/
    Поскольку код на С++ то нет.
     
     
  • 3.101, Аноним, 19:45, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Сектанты подтянулись.
     
  • 2.100, Аноним, 19:44, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Он собирает кошэрно и халяльно.
     
     
  • 3.126, Аноним, 09:30, 19/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    И только не в шабат
     
  • 1.4, Andrey Mitrofanov, 12:17, 18/06/2018 [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    Они сделали ccache, но не под GPLv3-or-any-later от тов Триджела Ай, малаццы ... весь текст скрыт [показать]
     
     
  • 2.8, Anonymoustus, 12:22, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Шекели не пахнут.
     
     
  • 3.13, Andrey Mitrofanov, 12:43, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Видимо-видимо С проприертарщиками жить -- регулярно проверяться не забывать в ... весь текст скрыт [показать]
     
  • 2.19, IRASoldier, 13:00, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Правильно, не всем же быть идейно озабоченными нищебpодами ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Andrey Mitrofanov, 13:03, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Согласен Некоторым и в безыдейных -- что божья роса ... весь текст скрыт [показать]
     
     
  • 4.30, IRASoldier, 13:12, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Г-н Митрофанов, вы еще скажите, что сами вот прям таки взяли и отказались бы от ... весь текст скрыт [показать]
     
     
  • 5.41, Andrey Mitrofanov, 13:59, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Конечно Те, кто мене донатит не оценили бы Ваши никто -- да Я прикладыв... весь текст скрыт [показать]
     
     
  • 6.64, IRASoldier, 15:12, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    И рэкетир с утюгом - возьми сто рублей с то ли Петросян, то ли Карцев... весь текст скрыт [показать]
     
  • 2.45, PereresusNeVlezaetBuggy, 14:04, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    gt оверквотинг удален Это, скорее, компилятор для рабочих станций, где идёт ра... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.79, КО, 16:36, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Можно и на серверах для автоматических тестов гонять Просто люди изобрели флажо... весь текст скрыт [показать]
     
     
  • 4.82, PereresusNeVlezaetBuggy, 16:52, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    А вот это не всегда хорошая идея С тем же ccache я уже натыкался на сбои с пре... весь текст скрыт [показать]
     
  • 4.99, Ordu, 19:38, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Это значит сериализовать содержимое памяти компилятора, а потом десериализовыват... весь текст скрыт [показать]
     
     
  • 5.104, Vkni, 20:35, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    mmap подходящая структура данных базирующаяся на POD спасет отца русской дем... весь текст скрыт [показать]
     
     
  • 6.110, Ordu, 21:52, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Вопрос зачем эти сложности не снимается упоминанием mmap и POD ... весь текст скрыт [показать]
     
     
  • 7.160, Vkni, 07:08, 22/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Вопрос "зачем эти сложности" не снимается упоминанием mmap и POD.

    Ну скорость компиляторов ЦэПэПэ в разы увеличивается. Разумеется, необходимость этих извращений можно устранить просто введя в язык модули - см. Borland Pascal, Ocaml, Haskell и т.д., практически всё, кроме C и C++.

     
  • 6.157, nuclight, 21:04, 21/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Кто такое POD? На ум только перловые доки приходят.
     
     
  • 7.159, Vkni, 07:06, 22/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Кто такое POD? На ум только перловые доки приходят.

    Plain Old Data - терминология С++ников.

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

    1. Атомарные и массивы - это уровень Fortran 66.
    2. Графы из указателей - это LISP.
    3. POD - это пришло из Кобола, сейчас в основном известно по C - структуры, занимающие сплошные блоки памяти.
    4. Каналы, они же pipes.

    Ну и всё остальное - это сочетания этих подходов.

     
  • 5.123, КО, 08:49, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Об том и новизна решения Только вот, как только встанет вопрос как демону компи... весь текст скрыт [показать]
     
     
  • 6.134, Ordu, 11:38, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Никак Это не его проблемы Обычный компилятор совершенно не парится тем, кто ко... весь текст скрыт [показать]
     
  • 2.59, z, 14:49, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +3 +/
    К несчастью, то ж бывает у людей Как ни полезна вещь,- цены не зная ей, Невежда... весь текст скрыт [показать] [показать ветку]
     
  • 1.5, yet another anonymous, 12:18, 18/06/2018 [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    Определить изменённость источников да ещё и в широком смысле --- опции компил... весь текст скрыт [показать]
     
     
  • 2.14, Andrey Mitrofanov, 12:45, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Там наврху написано Не веришь -- пачиму спрашиваешь ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, yet another anonymous, 13:50, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Я не оракул, чтобы догадываться что такое они имеют ввиду под словами кэш компи... весь текст скрыт [показать]
     
  • 2.43, Анонимус2, 14:03, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Да нет, это вполне себе тривиальная задача, обычно с ней хорошо справляется сист... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.55, yet another anonymous, 14:42, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Хм, действительно, можно же продублироватьь работу make И если для make есть ... весь текст скрыт [показать]
     
     
  • 4.62, Аноняша, 15:07, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Давно уже умеет через ninja-build и make -GNinja
     
     
  • 5.72, yet another anonymous, 15:36, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Вас кто-то обманул. В дизайне ninja для этого ничего нет.
     
  • 1.15, Аноним, 12:45, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Кстати precompiled headers поддерживал borland c++ 3.0 в 1991 году
     
     
  • 2.17, Andrey Mitrofanov, 12:55, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    и GCC 3 4 and newer в 2004-ом И чито ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, Аноним, 13:03, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    в 91, ты перепутал билдер и просто c++
     
     
  • 4.26, Andrey Mitrofanov, 13:07, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    >ты перепутал

    Это я так нипамяааатна написал про gcc 3.4.0.

     
  • 1.16, Аноним, 12:47, 18/06/2018 [ответить] [смотреть все]     [к модератору]  
  • +4 +/
    С это как раз тот язык где через 40 лет не могут сделать удовлитворительный ко... весь текст скрыт [показать]
     
     
  • 2.18, Andrey Mitrofanov, 12:56, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Экий вы, батенька, привереда I ... весь текст скрыт [показать] [показать ветку]
     
  • 2.20, Аноним, 13:01, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +4 +/
    GCC более чем удовлетворительный.
     
     
  • 3.25, Аноним, 13:06, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Моя программа с 1 классом и 10 методами компилируется около 3 секунд, это удовле... весь текст скрыт [показать]
     
     
  • 4.27, Andrey Mitrofanov, 13:08, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    У препода своего спроси, копиляция без ошипок -- это на троечку или нет ... весь текст скрыт [показать]
     
     
  • 5.29, Аноним, 13:12, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Дык препод меня на С писать и заставил, та же программа переписанная на С комп... весь текст скрыт [показать]
     
     
  • 6.36, Аноним, 13:42, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Заставить-то он заставил, только вот руки на место не поставил.
     
  • 6.37, Аноним, 13:46, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Я локализовал твою ошибку. Она по эту сторону экрана. Попробуй пропатчиться.
     
  • 4.46, PereresusNeVlezaetBuggy, 14:06, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Да ... весь текст скрыт [показать]
     
  • 3.119, Аноним, 02:09, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Сравни скорость компиляции с турбопаскалем ... весь текст скрыт [показать]
     
     
  • 4.124, КО, 08:51, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Ну Паскалю и у Борланда Си сливало Все ж таки Паскаль был их родной, а Сишечка ... весь текст скрыт [показать]
     
     
  • 5.142, Led, 00:34, 20/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    Не поэтому.
     
  • 5.147, cutlass, 05:15, 20/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Паскаль однопроходной язык, в этом все дело, а не в куплености Си То есть тормо... весь текст скрыт [показать]
     
  • 2.24, Аноним, 13:05, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +3 +/
    за 40 лет несколько разных C вышло, вы о каком ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.28, Andrey Mitrofanov, 13:09, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    О Сферический борланд в вакууме ... весь текст скрыт [показать]
     
  • 3.31, Аноним, 13:18, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Ни на каком из них никогда годных компиляторов и не было
     
     
  • 4.34, Anonymoustus, 13:35, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    То ли дело всеправославнейший Watcom Я егойным редактором ресурсов смотрю разну... весь текст скрыт [показать]
     
     
  • 5.58, нах, 14:49, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    он тоже был феерический тормоз, и C-only тоже ... весь текст скрыт [показать]
     
     
  • 6.66, Anonymoustus, 15:14, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну, не знаю 8230 В 171 Getting Started 187 это версия 10 6, напоминаю, 19... весь текст скрыт [показать]
     
  • 1.39, Ivan_83, 13:51, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Во FreeBSD ccache уже интегрирован, достаточно в /etc/make.conf добавить:
    WITH_CCACHE_BUILD=yes
    CCACHE_DIR=/var/cache/ccache

    При этом желательно в /var/cache/ccache добавить ccache.conf типа (дефолты мне не нравятся):
    disable = false
    read_only = false
    recache = false
    stats = false
    cache_dir_levels = 4
    max_files = 0
    max_size = 8G
    limit_multiple = 0.9
    compression = true
    compression_level = 1

    compiler_check = %compiler% -v
    direct_mode = false
    unify = true
    run_second_cpp = true
    sloppiness = file_macro,time_macros
    hash_dir = false
    ignore_headers_in_manifest =
    keep_comments_cpp = false
    extra_files_to_hash =

    hard_link = false
    temporary_dir = /tmp

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

     
     
  • 2.47, PereresusNeVlezaetBuggy, 14:09, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Вы не поверите, использование ccache много где поддерживается ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.48, Аноняша, 14:30, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Через костыли естесвенно
     
     
  • 4.51, PereresusNeVlezaetBuggy, 14:36, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    ccache сам по себе костыль, а ваш комментарий не понятен Решение, используемое ... весь текст скрыт [показать]
     
     
  • 5.52, Аноняша, 14:38, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Если это из портов Пакеты из внешних источников при кросс-сборке вот где я виж... весь текст скрыт [показать]
     
     
  • 6.54, PereresusNeVlezaetBuggy, 14:41, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Соглашусь Собственно, отчасти поэтому в OpenBSD кросс-компиляция, хотя и поддер... весь текст скрыт [показать]
     
  • 3.56, бедный буратино, 14:43, 18/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    что написать в /etc/mk.conf?
     
     
  • 4.63, PereresusNeVlezaetBuggy, 15:11, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    USE_CCACHE Yes Есть там и дополнительные переменные для настроек, см bsd port m... весь текст скрыт [показать]
     
  • 2.60, нах, 14:51, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    троллейбус из буханки jpeg Но зачем ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.65, PereresusNeVlezaetBuggy, 15:13, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Если вы работаете над патчем для ОС или портов, то ответ как бы очевиден 8212 ... весь текст скрыт [показать]
     
     
  • 4.71, Andrey Mitrofanov, 15:27, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    и немножечко GPLv3-or-any-later из портов -- так УдобнееТМ ... весь текст скрыт [показать]
     
     
  • 5.73, PereresusNeVlezaetBuggy, 15:46, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Я могу еще более страшные вещи рассказать многие разработчики BSD пользуются v... весь текст скрыт [показать]
     
  • 4.84, нах, 17:00, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    ну разьве что портов Потому что тестируется да и патчится,по большей части та... весь текст скрыт [показать]
     
     
  • 5.87, PereresusNeVlezaetBuggy, 17:52, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Прежде всего, базовая система написана в основном на Си, поэтому данный компилят... весь текст скрыт [показать]
     
     
  • 6.94, пох, 19:09, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    ооох, ваши б слова да Б-гу в уши угадайте, ЧТО занимает сейчас 90 времени make... весь текст скрыт [показать]
     
     
  • 7.96, PereresusNeVlezaetBuggy, 19:13, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Это да, Тео да и не только он очень долго не хотел Clang в базе опёнка в том ч... весь текст скрыт [показать]
     
  • 7.113, Ivan_83, 22:31, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Да, llvm долго собирается Нет, лишнее отключается и другие архитектуры оно не т... весь текст скрыт [показать]
     
     
  • 8.129, ., 10:01, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    нихрена там не отключается Он вообще не умеет такую сборку - весь миллиард экзо... весь текст скрыт [показать]
     
     
  • 9.135, Ivan_83, 13:33, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    WITHOUT_CLANG_BOOTSTRAP Set to not build the Clang C C compiler during t... весь текст скрыт [показать]
     
     
  • 10.139, нах, 18:02, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    это бесполезно и потенциально сломает билд об этом тебе сказали это выключено по... весь текст скрыт [показать]
     
     
  • 11.140, Ivan_83, 19:09, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    ccache у меня ещё ни разу ничего не ломал -DNO_CLEAN иногда приводит к фейлам п... весь текст скрыт [показать]
     
     
  • 12.148, Аноним, 08:18, 20/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    для тазиков с неприлично большим временем сборки - имеет смысл держать отдельный... весь текст скрыт [показать]
     
     
  • 13.156, Ivan_83, 18:49, 20/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Да, было бы здорово.
    Но нет времени/желания пока это автоматизировать: тазиков не много и обновляются они сравнительно редко.
     
  • 3.80, Ivan_83, 16:36, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Затем что от этого есть профит практически всегда на живой системе И много проф... весь текст скрыт [показать]
     
  • 2.97, Аноним, 19:33, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Его не надо никуда интегрировать Достаточно сделать PATH usr local libexec c... весь текст скрыт [показать] [показать ветку]
     
  • 1.42, Аноним, 14:00, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Компилирует быстро, но такая фигня получается!
     
     
  • 2.44, Andrey Mitrofanov, 14:04, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +2 +/
    > Компилирует быстро, но такая фигня получается!

    Уже FreeBSD пересобрал?

     
     
  • 3.69, Anonymoustus, 15:22, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Небось уже и упало, попутно разобрав рейд-массив и сломав все USB-порты ... весь текст скрыт [показать]
     
  • 3.107, Аноним, 20:42, 18/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Собирал FreeBSD, а в итоге ALT получился ... весь текст скрыт [показать]
     
     
  • 4.122, DmA, 08:20, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Чтобы после компиляции АLT получить, нужно сначала деньюжку им заплатить ... весь текст скрыт [показать]
     
  • 4.128, Andrey Mitrofanov, 09:55, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    А не-фихня по вашему -- это MS-Windows-10-Enterprise-Server Не удалось, пичальк... весь текст скрыт [показать]
     
  • 2.121, DmA, 08:19, 19/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    может в самом коде проблема ? :)
     
  • 1.49, Аноняша, 14:31, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Что линкует тоже быстрее, чем LLVM/llc ?
     
     
  • 2.50, Аноняша, 14:32, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    https://lld.llvm.org
     
  • 1.81, Аноним, 16:50, 18/06/2018 [ответить] [смотреть все]     [к модератору]  
  • +/
    128 GiB хватит для всех ... весь текст скрыт [показать]
     
     
  • 2.91, Andrey Mitrofanov, 18:15, 18/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Зависит от аппетита отдела продаж То есть _точно_ не хватит Не _всем_ I ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.149, Аноним, 08:19, 20/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    gt оверквотинг удален и что ты про SGI Altrix слышал канделяберный ты наш ... весь текст скрыт [показать]
     
     
  • 4.152, Andrey Mitrofanov, 11:24, 20/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну, up to 128 TB of memory 192TB with single microprocessor socket blades у... весь текст скрыт [показать]
     
  • 1.85, Аноним, 17:37, 18/06/2018 [ответить] [смотреть все]     [к модератору]  
  • +/
    License UoI-NCSA rc BSD public-domain llvm_targets_ARM LLVM-Grant По... весь текст скрыт [показать]
     
  • 1.92, L29Ah, 18:59, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Скоко памяти хавает на сборке буста?
     
  • 1.109, Аноним, 21:34, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    можно просто компилить в рамдиске и ненужны всякие сомнительные компиляторы
     
     
  • 2.125, Аноним, 09:20, 19/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Это не тоже самое Один и тот же класс в разных проектах будет компилироваться д... весь текст скрыт [показать] [показать ветку]
     
  • 1.111, Аноним, 22:01, 18/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Сомнительно, что в upstrem их код примут, там под 200К изменений над llvm.
     
  • 1.117, Аноним, 01:07, 19/06/2018 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Благодаря таким ребятам C++ жив и развивается!
     
     
  • 2.118, Аноним, 01:09, 19/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Так это проприетарь, устареет через 1 минорный релиз шланга.
     
  • 2.130, Andrey Mitrofanov, 10:14, 19/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Я зык меняют комитетчики, а не шлома-колеры ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.131, Andrey Mitrofanov, 10:24, 19/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Впрочем, в части жив , видимо, да Нужно много незамутнённых художников ... весь текст скрыт [показать]
     
  • 1.132, Аноним, 10:46, 19/06/2018 [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Любой, кто работал с транслятором бинарных продуктов знает, что по крайней мере ... весь текст скрыт [показать]
     
     
  • 2.154, Andrey Mitrofanov, 12:21, 20/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    >по крайней мере
    > 1/10 бинарного выхода это повторяющиеся комбинации символов,
    > нагружен рекурсией, выигрыш растет по экспоненте. Так что все логично. Молодцы.

    Вы , как Большой Учёный, наверное, слышали про такой мощный, я бы даже сказал, "неповторимый" язык, как ассемблер.  Попробуйте!  Проьлему "повторов" решит на корню.  >/<

     

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


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