LINUX.ORG.RU

Icecream 1.0.0

 , icecream, ,


0

1

После 10 лет с начала разработки вышла новая версия системы распределённой компиляции — Icecream 1.0.0. Данная система была создана в SUSE на основе distcc. Основное отличие от distcc заключается в использовании центрального сервера для планировщика заданий, раздаваемых участникам сети.

В данной версии нет ничего ломающего привычные методы работы Icecream, она включает в себя исправления ошибок, найденных со времени выпуска версии 0.9.7, а также некоторые улучшения. Основным нововведением является поддержка Clang и его плагинов прямо «из коробки».

Репозиторий исходного кода системы был переведён на GitHub, там же можно прочитать о достоинствах Icecream. Архив с исходным кодом доступен на сервере SUSE.

>>> Подробности

★★★★★

Проверено: tazhate ()
Последнее исправление: dinn (всего исправлений: 2)

После 10 лет разработки

Быстро вы

koshmar ★★★★
()
Ответ на: комментарий от unt1tled

Там, где ведется разработка сишного кода, и нужно его собирать для тестирования.

vurdalak ★★★★★
()
Ответ на: комментарий от zavok

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

vurdalak ★★★★★
()

Пора организовывать Compilation@Home.

Sadler ★★★
()
Ответ на: комментарий от unt1tled

На крупных C/C++ проектах. Например, у нас на 4 серверах проект собирается около часа. Но мы используем distcc, icecream как-то не пошёл, так и не смог я его допилить.

queen3 ★★★★★
()

этот топик не может не скатиться в дженту-срачЪ.

по поводу конпеляния сейчас в генте - binutils, boost и rblibtorrent тупо out-of-memory. раньше такого не было. надежность - да, всё выше и выше и выше (с) - сто лет не обновлявшаяся гента, живущая на семпроне и подвергавшаяся (по неопытности) различным экспериментам, обновила что-то около 270 пакетов и не чихнула. только вышеназванные зафейлились.

реально, смысла в генте может быть два - быстро разобраться что к чему в этих ваших линуксах (при этом док-ию придется юзать из других источников, ибо своя устарела) и свежий софт/много его. версии из VCS это удобно. на бинарных дистрах лучше виртуалку держать. когда они уже поймут, что в современных реалиях, дев-система должна быть отдельно? по умолчанию, by design...

anonymous
()
Ответ на: комментарий от devl547

Буст

Сейчас собирается очень быстро.

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

buddhist ★★★★★
()
Ответ на: комментарий от anonymous

по поводу конпеляния сейчас в генте - binutils, boost и rblibtorrent тупо out-of-memory.

Это сколько у тебя памяти? 0_о

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Буст

Сейчас собирается очень быстро.

А у меня полчаса. А рядом есть ноут с мощным процом, так что я бы потыкал сабж

xorik ★★★★★
()
Ответ на: комментарий от devl547

Ну может я слегка соврал (засекать лень), но я бы не назвал это «быстрым»

xorik ★★★★★
()
Ответ на: комментарий от vurdalak

офис есть бинарником для нетерпеливых.

Для нетерпеливых есть Intel Core i7 3770 3.5GHz и сборка на нём на всех восьми потоках, ну и оперативной памяти гигов 16.

anonymous
()
Ответ на: комментарий от anonymous

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

riki ★★★★
()
Ответ на: комментарий от anonymous

Фигасе недорого. Я последний раз покупал проц где-то за 6к ваших рублей, и это было достаточно дорого. Учитывая, что кроме сборки он мне дома мало зачем нужен.

vurdalak ★★★★★
()
Ответ на: комментарий от anonymous

неужели

русская документация да, но не в коем случае english documentation about gentoo linux

anonymous
()

Объясните для слабоумного что оно делает? Ну суть я уловил, но не понимаю как оно компилит, что именно будет бегать по сети, не исходники же.

Novell-ch ★★★★★
()
Ответ на: комментарий от anonymous

Буст ... по этому и свалил с генты.

На пентиуме II MMX тяжело наверное, да., но на голимом мобильном процессоре i5-2410M собирается за 8 минут:

     Fri Mar  8 23:12:37 2013 >>> dev-libs/boost-1.52.0-r6
       merge time: 8 minutes and 12 seconds.

science ★★☆
()
Последнее исправление: science (всего исправлений: 1)
Ответ на: комментарий от vurdalak

<lor-mode>

да ты, братец, НИЩЕБРОД! я за час больше получаю! может, хватит уже работать за миску супа?

</lor-mode>

anonymous
()

Это личный сусевский костыль, из-за которого у сусевцов нету distcc в репках? Не знаю, кому он нужен. Почитал READMEшечку, как-то ни о чём.

anonymous
()
Ответ на: комментарий от Novell-ch

10 машин выгребают из SVN исходники проекта, планировщик говорит каждой какой объектный файл собрать, потом какая-то машина все их линкует. Так наверное, я незнаю правда как на самом деле, но вариантов мало. Ну можно копировать только те исходники, которые надо собрать, а не весь проект из SVN.

kiverattes ★☆
()

а я уж подумал, что это муз-трекер времен доса оживили o_O

dikiy ★★☆☆☆
()
Ответ на: комментарий от Uzulus

И сказал Nowell что это хорошо

А что там плохо. В свое время на i286 3.x замечательно крутилась и как файл сервер справлялась вполне. Причем никакого tcpip не было.

hbars ★★★★★
()
Ответ на: комментарий от Novell-ch

как работает IceCC

На машине, где происходит сборка, исходник прогоняется через препроцессор. Получаем исходный код, который уже можно компилировать где угодно (нет привязки к хидерам и т.п.). Потом планировщик выбирает на какой билд-машине сейчас удобно компилировать. На выбранный компьютер отправляется обработанный файл, в ответ получаем объектный файл. Линковка, по-моему, только на своей машине. Компиляторы распространяются по билд-машинам полуавтоматически. Мы так на предыдущей работе OpenEmbedded собирали. На большую часть машин в отделе поставили IceCC-демонов. В результате собиралось все на порядок быстрее.

lumag ★★
()
Ответ на: как работает IceCC от lumag

расскажи пожжалуйста вкратце про полуавтоматическое распределение компиляторов по билд-машинам. В остальном по описанию отличий от distcc не видно.

Trannel
()

Я бы еще десяток лет подождал. Вот что можно увидеть в коде этих клоунов: из ./services/comm.h

class MsgChannel {
  friend class Service;
  // deep copied
  struct sockaddr *addr;
  socklen_t len;
public:
  // our filedesc
  int fd;

  enum SendFlags {
      SendBlocking    = 1<<0,
      SendNonBlocking = 1<<1,
      SendBulkOnly    = 1<<2
  };

  // the minimum protocol version between me and him
  int protocol;

  std::string name;
  time_t last_talk;
...

И так везде!

A-234 ★★★★★
()
Ответ на: комментарий от Trannel

У distcc, кстати, тоже есть распределение по загрузке, с помощью доп сервиса dmucs

queen3 ★★★★★
()
Ответ на: комментарий от Trannel

Планировщик раскидывает задачи по билд-машинам в зависимости от количества ядер и загрузки машины. Сетка самоорганизуется (машины и планировщик общаются то ли по мультикасту, то ли по броадкасту). По крайней мере в рамках одной подсети конфигурировать вообще ничего не надо (только на одной из машин включить планировщик).

Компилятор доставляется на билд-сервера в виде архива с cc1, as и поддерживающими библиотеками. Архив или генерится автоматом, или собирается ручками (удобно для разных странных кросс-компиляторов).

А, и для затравки: make -j 64 собирает ядро действительно быстро ;)

lumag ★★
()
Ответ на: комментарий от zavok

Дома у гентушников.

Нафик нафик. Самый жирный пакет - libreoffice всего каких-то 40 минут собирается. Зачем быстрее.

black7
()
Ответ на: комментарий от vurdalak

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

И от сборки с использованием ram-диска кстати выгоды тоже не наблюдается на современном железе.

black7
()
Ответ на: комментарий от vurdalak

Я бы не то, что бы платить, я бы даже связываться не стал. Но тонкие ценители ведь разные бывают.

h4tr3d ★★★★★
()
Ответ на: комментарий от anonymous

даже на похожей конфигурации Либра собирается минут сорок

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.