Израильская компания 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.
Источник: https://www.opennet.ru/opennews/art.shtml?num=48796
(opennet.ru, основная лента)
[ON] Открыт код C++ компилятора Zapcc
Модератор: Модераторы разделов
[ON] Открыт код C++ компилятора Zapcc
Последний раз редактировалось rssbot 18.06.2018 20:14, всего редактировалось 2 раза.
Причина: Updated upstream
Причина: Updated upstream
- Bizdelnick
- Модератор
- Сообщения: 20741
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: [ON] Открыт код C++ компилятора Zapcc
Неа, тавтология.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: [ON] Открыт код C++ компилятора Zapcc
Я имел в виду, что есть сборка и пересборка и последняя делается если что-то с кэшированием пошло не так.
Конечно, кэширование кэшированию рознь, но всё же, это больше похоже не на пересборку, а на просто сборку, но доведённую до ума в плане оптимизации и надёжности работы кэширования.
Конечно, кэширование кэшированию рознь, но всё же, это больше похоже не на пересборку, а на просто сборку, но доведённую до ума в плане оптимизации и надёжности работы кэширования.