The OpenNET Project / Index page

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

Проект по задействованию LTO-оптимизации при сборке ядра Linux

20.08.2012 14:08

Разработчики из компании Intel представили набор патчей с результатами работы по адаптации ядра Linux для сборки с использованием режима оптимизации во время динамического связывания (LTO - Link Time Optimization). LTO-оптимизации отличаются учётом состояния всех файлов, участвующих в процессе сборки, в то время, как традиционные режимы оптимизации оптимизируют каждый файл по отдельности и не учитывают условия вызова функций, определённых в других файлах. Например, при LTO для функций из других файлов возможно inlinе-развёртывание, в исполняемый файл не включается неиспользуемый код, осуществляется проверка типов для всей программы, производится общая оптимизация на уровне проекта в целом.

Подготовленные патчи включают в себя устранения проблем, всплывших в результате более агрессивной оптимизации, а также содержат ряд обходных путей для исключения влияния известных проблем в GCC 4.7. В результате использования патчей при сборке ядра 3.6 при помощи GCC 4.7 удалось добиться заметного повышения производительности результирующей сборки. Ускорение наблюдается практически во всех тестах, за исключением нескольких незначительных регрессий, которые планируется устранить в ближайшее время.

Ценой использования LTO является замедление процесса сборки в 2-4 раза и необходимость наличия в системе от 4 до 9 Гб ОЗУ в зависимости от собираемой конфигурации ядра. Ожидается, что в будущих версиях GCC проблемы с производительностью будут решены и скорость сборки в режиме LTO будет существенно увеличена.

  1. Главная ссылка к новости (https://lkml.org/lkml/2012/8/1...)
  2. OpenNews: Реализация оптимизации для GCC, учитывающей связь между файлами сборки
  3. OpenNews: Релиз набора компиляторов GCC 4.7. Проекту GCC исполнилось 25 лет
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/34619-linux
Ключевые слова: linux, kernel, gcc, optimization
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (87) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 14:23, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ох, давно ручки чешутся пособирать с LTO...
     
     
  • 2.46, кевин (?), 22:05, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а мы уже рубим!
     
     
  • 3.55, Аноним (-), 02:01, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а мы уже рубим!

    ...один рубит, а семеро в кулак трубят :)

     
     
  • 4.60, pavlinux (ok), 03:25, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    +ifdef CONFIG_LTO_SLIM
    +AR    = $(CROSS_COMPILE)gcc-ar
    +else
    AR    = $(CROSS_COMPILE)ar
    +endif

    Мож скажете где gcc-ar надыбали?  

     
  • 2.59, Аноним (-), 02:48, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ох, давно ручки чешутся пособирать с LTO...

    А чему там чесаться?

    Ну вот из последнего - busybox с lto собирал - только для ash пришлось отключить компиляцию с LTO.

     
     
  • 3.86, pavlinux (ok), 17:40, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Ох, давно ручки чешутся пособирать с LTO...
    > А чему там чесаться?
    > Ну вот из последнего - busybox с lto собирал - только для
    > ash пришлось отключить компиляцию с LTO.

    К ЧСВ чё-нить добавилось? :)

     

  • 1.2, Аноним (-), 14:24, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Прикольно. Быстрое ядро - это хорошо, а вот 9Гб RAM я не потяну.
     
     
  • 2.3, Аноним (-), 14:28, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего. соберешь на swap'e ))) Прикольно, но время с борки в 2-4 раза больше... уведомили бы об этот в анонсе нового ядра.
     
     
  • 3.5, Аноним (-), 14:37, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это при сброке с LTO, так-то не повлияет... (Как же OO/LO с LTO собиралсь бы. Сколько ж гиг... А фокс.)
     
     
  • 4.13, Аноним (-), 15:54, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > с LTO собиралсь бы. Сколько ж гиг... А фокс.)

    Вообще, у разработчиков обычно мощные машины. А так - ну вы представляете себе сколько оно скомпиленое весит? А если еще кучу информации про все это хранить - ну вот оно и получается вот такое вот...

     
     
  • 5.45, BratSinot (?), 21:53, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не так уж и много оно весит. Тот-же chromium исходники пару гигов весят, браузер 100MiB+
     
     
  • 6.57, Аноним (-), 02:02, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Не так уж и много оно весит. Тот-же chromium исходники пару гигов
    > весят, браузер 100MiB+

    Ну так в объектниках больше информации чем в скомпиленных бинарях.

     
  • 2.12, Аноним (-), 15:53, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Теперь гентушники возлюбят мощные энтерпрайзные сервера и возьмут новые высоты :)
     
     
  • 3.20, kurokaze (ok), 16:16, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • –6 +/
    фейл. что вы как ребенок всякую гадость в ро^W голову тянете

    сборка отнимает не более 15 минут в день
    mplayer с -vf hqdn3d,gradfun потребляет намного больше процессора в день — давайте начнем теперь тыкать пальцем в смотрящих фильмы и петросянить

     
     
  • 4.23, Аноним (-), 16:54, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > сборка отнимает не более 15 минут в день

    Сборка чего именно? Ядра со всеми прибамбасами c LTO? Файрфокса? Либрофиса? 15 минут? У вас там Cray чтоли? :)

    > mplayer с -vf hqdn3d,gradfun потребляет намного больше процессора в день — давайте
    > начнем теперь тыкать пальцем в смотрящих фильмы и петросянить

    Там ресурсы системы потребляются на благо пользователя. А вот пересборка сама по себе - чисто техническая операция. Сама по себе она вообще никому пользы не приносит.

     
     
  • 5.28, Аноним (-), 17:41, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    можно собирать и заниматься обычными делами. Ну станет 20-40 минут вместо 10. Не страшно
     
  • 5.29, VoDA (ok), 17:41, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Там ресурсы системы потребляются на благо пользователя. А вот пересборка сама по
    > себе - чисто техническая операция. Сама по себе она вообще никому
    > пользы не приносит.

    А обогрев помещений? ;))))))))))))))))

     
     
  • 6.38, Аноним (-), 20:07, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А обогрев помещений? ;))))))))))))))))

    Для этого лучше mining rig поставить :)

     
  • 5.33, Аноним (-), 18:37, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    начнем теперь тыкать пальцем в смотрящих фильмы и петросянить

    >А вот пересборка сама по
    > себе - чисто техническая операция. Сама по себе она вообще никому
    > пользы не приносит.

    Как-то толсто.

     
  • 5.48, x0r (??), 22:20, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А вам что все драйверы нужны? Можно все и не собирать и будет быстрее намного
     
  • 5.66, анонимус (??), 07:36, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Очень редко приходится пересобирать firefox, LO и проч. большие проекты - примерно раз в 1.5-2 месяца. В любом случае эти задачи выполняются в фоне, не особо мешая заниматься своими делами - при этом на C2D 2.16GHz c 1G ram при make -j3 система практически не тормозит если приложения часто не обращаются к диску
     
     
  • 6.94, BratSinot (?), 15:11, 23/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > firefox <

    Он не большой, а толстый на С++. Из-за этого при компиляции жрется куча памяти и времени.

     
  • 3.47, кевин (?), 22:06, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Теперь гентушники возлюбят мощные энтерпрайзные сервера и возьмут новые высоты :)

    пфф все прогрессивные гентушники давно собирают с LTO

     

  • 1.4, Аноним (-), 14:28, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Проблемы с памятью уже решены частично в 4.7.1. Из ченджлога:
    "Improved scalability and reduced memory usage. Link time optimization of Firefox now requires 3GB of RAM on a 64-bit system, while over 8GB was needed previously. Linking time has been improved, too. The serial stage of linking Firefox has been sped up by about a factor of 10."
     
     
  • 2.19, Аноним (-), 16:04, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > factor of 10."

    Epic win! Вот все бы так софт оптимизировали. И почаще :)

     
     
  • 3.36, XoRe (ok), 19:07, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> factor of 10."
    > Epic win! Вот все бы так софт оптимизировали. И почаще :)

    Сначала надо его замедлить)

     
     
  • 4.39, Аноним (-), 20:08, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Сначала надо его замедлить)

    Не, так не пойдет - это уже читерство.

     
  • 2.78, Имя (?), 11:02, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мощно еще CLang-ом собирать. Он, судя по описанию, потребляет в разы меньше памяти чем gcc при компиляции
     

  • 1.6, Zenitur (ok), 15:00, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда я компилирую Wine я удивляюсь тому, что первые секунды компилируются файлы из нескольких основных каталогов, а остальные 20 минут идёт компиляция файлов из всех оставшихся каталогов по алфавиту, от a до z. И потом всё работает. В моменты компиляции я задумываюсь, а как компилируют оригинальный Windows? Тоже все файлы из каталога System32/System64 компилируются в алфивитном порядке от a до z, или сначала основные библиотеки и программы, потом библиотеки с меньшим приоритетом, потом ещё с меньшим...

    Когда читал новость сразу вспомнил об этом.

     
     
  • 2.7, ананим (?), 15:32, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    очевидный ответ кроется в знании правил работы make-файлов (или аналогов типа сконс и тд).
    другими словами - как напишешь, так и будет.

    Зыж
    по сабжу - в LTO обратите внимание всё же на первую букву, она тоже не просто так.

     
  • 2.8, poige (ok), 15:33, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    — Билды присылает Skynet.
     
  • 2.14, Аноним (-), 15:57, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > потом всё работает. В моменты компиляции я задумываюсь, а как компилируют
    > оригинальный Windows? Тоже все файлы из каталога System32/System64

    Наивные чукотские юноши такие наивные. У мс вообще сборка по другому делается. Кстати AFAIK она занимает чуть более чем дофига времени. У них процесс билдовки вообще отличается тормознутостью.

     
     
  • 3.22, Аноним (-), 16:36, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Те же самые Makefile'ы, только диалект другой.
     
     
  • 4.24, Аноним (-), 16:57, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Те же самые Makefile'ы, только диалект другой.

    Спасибо, Кэп. Да, общие идеи у много кого и чего - довольно похожие.

     
  • 2.37, XoRe (ok), 19:30, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда читал новость сразу вспомнил об этом.

    Поставьте visual studio, напишите/найдите небольшой проектик и сделайте ему build.
    Узнаете, как оно делается в MS.

     
  • 2.53, Аноним (-), 00:50, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Странно, а я всегда думал, что при компиляции и сборке на Makefile'ах строится граф зависимости по правилам из этих файлов...
     

  • 1.9, ВКПб (?), 15:42, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    На AMD есть смысл собирать?
     
     
  • 2.21, ВовкаОсиист (ok), 16:21, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >_< Лто только для интела существует? Использование её имеет смысл на всех процессорах и архитектурах.
     

  • 1.11, xxx (??), 15:45, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    O_o. Сейчас попробывал собрать свой прект под cortex-m3 с включенной LTO, бинарник вырос с 60 до 90 Кб. Ядро интересно также вырастет?


     
     
  • 2.17, Аноним (-), 16:02, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > вырос с 60 до 90 Кб.

    Видимо что-то заинлайнилось. И да, что-то мне подсказывает что от LTO есть толк на больших проектах. Типа всяких либрофисов и файрфоксов.

     
  • 2.56, arisu (ok), 02:01, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > попробывал

    больше не «пробывай».

     

  • 1.16, Клим (?), 16:02, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    до 9 ГБ... линукс в массы, ага.
    а обsчная сборка ядра сколько длится?
     
     
  • 2.18, Аноним (-), 16:03, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > до 9 ГБ... линукс в массы, ага.

    У разработчиков и 32Гб бывает. Кроме всего прочего, большой дисковый буфер делает работу с большими наборами файлов куда приятнее.

     
  • 2.26, nal (??), 17:30, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И что такого в 9-ти гигах?
    на моем офисном компе(проц: Intel G540), 16 гиг памяти, не считая swap раздела(правда ни разу его не использовал, сделал по привычке)...
    кручу-верчу виртуалки - вполне себе норма, такой объем памяти иметь...
     
     
  • 3.62, Тот_Самый_Анонимус (?), 06:17, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >кручу-верчу виртуалки - вполне себе норма, такой объем памяти иметь...

    По-разному бывает. Я пока что по работе несталкивался с ОЗУ более 4 Гб. Так что про норму - это чистая ложь.

     
     
  • 4.68, Аноним (-), 09:56, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    4 гига на сегодня - это практический минимум. Подойдет для офисной работы и веб-серфинга. Для разработки этого реально мало, надо хотя бы 8. Лично у меня на работе 8 (было 4, не хватало), дома 16.
     
  • 4.81, nal (??), 12:28, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > ... Так что про норму - это чистая ложь.

    В моей практике это норма...

     
  • 4.92, Аноним (-), 12:20, 23/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. один вы со своими вшивыми 4ГБ - и уже не норма? Проспитесь, норма уже давно выше 8ГБ
     
  • 2.27, Аноним (-), 17:41, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А что, массы в массовом порядке пересобирают ядро с разными вариантами оптимизации?
     
  • 2.30, Аноним (-), 17:43, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Именно в массы. Так как массы (т.е пользователи бинарных дистрибутивов) получать бесплатное ускорение
     
     
  • 3.40, Аноним (-), 20:14, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Именно в массы. Так как массы (т.е пользователи бинарных дистрибутивов) получать бесплатное
    > ускорение

    Ну наверное разработчики массовых дистров смогут найти машину с 16-32Гб памяти в 2012 году. Тем паче что вон тут рядом утверждается что gcc 4.7.1 порядочно оптимизнули.

     
  • 2.32, Аноним (-), 17:47, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >а обsчная сборка ядра сколько длится?

    Все от проца зависит. У меня она выполняется минут 20 от силы.

     
  • 2.34, Aceler (ok), 18:48, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    У нас в учебных классах на сравнительно не молодых Pentium D — 30 минут ровно.

    АПВС?

     
  • 2.42, Аноним (-), 21:27, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    что значит обычная?  у меня "обычная" минут 10, не более
     
     
  • 3.51, Капитан (??), 00:15, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Обычное ядро компиляется 10 минут. А новый хренишь с новыми микрогранулами - 20!
     
  • 2.44, добрый дядя (?), 21:39, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    я собираю ядро Linux на 6 ядрах в 10 потоков обычно - собирается за пару-тройку минут, не более, у меня AMD Phenom II x6
     
  • 2.83, Anonimus.UA (?), 15:01, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    4*3=12, дома 3*2=6
     
  • 2.95, Йух (??), 17:38, 23/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > до 9 ГБ... линукс в массы, ага.
    > а обsчная сборка ядра сколько длится?

    последние за последние 4 года апгрейдился 8 - 16 - 32
    последний апгрейд совпал с заменой системника с Q6600 на 3770К

    новых компов с меньше чем 4Гб уже больше года не видел

    прятьже память нужна только для сборки, бинарь потом можно запускть на системах с меньшим кол-вом памяти

     
     
  • 3.96, arisu (ok), 01:47, 24/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > прятьже память нужна только для сборки, бинарь потом можно запускть на системах
    > с меньшим кол-вом памяти

    а у меня ядро спокойно собирается на 4гб системе, 32-битной. при этом на фоне крутится ещё и VirtualBox. и браузер запущен. и почтовик. -j2, среднее время сбора — около семи минут.

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

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

     

  • 1.35, Aceler (ok), 18:49, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну 9 Гб это не так страшно, во времена, когда надо было делать сборки kdebase со всеми отладочными флагами, вполне можно было получить те же объёмы.
     
     
  • 2.43, Аноним (-), 21:29, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сейчас webkit-gtk собирает окуенный .a файл на несколько гигов, но хорошо что не в памяти всё это держит, а только жрёт диск
     
     
  • 3.79, BratSinot (?), 11:46, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > но хорошо что не в памяти всё это держит <

    Ага, потому-что ваш WebKit и так сжирает всю память.

     

  • 1.41, добрый дядя (?), 20:16, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    самое то для разработчиков дистров, например Ubuntu может себе позволить такое шустрое ядро поставлять
     
     
  • 2.50, xxx (??), 22:39, 20/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > самое то для разработчиков дистров, например Ubuntu может себе позволить такое шустрое
    > ядро поставлять

    Так и представил себе:
    - А почему дистрибутив ХХХ тормозит?
    - А они не могут позволить себе собрать ядро с LTO оптимизацией.

     

  • 1.52, Аноним (-), 00:28, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Блин, 16гб рамы ddr3 стоит 3000р. Развели тут. Это может себе позволить практически каждый, у кого более-менее новая тачка.
     
     
  • 2.58, Аноним (-), 02:04, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Блин, 16гб рамы ddr3 стоит 3000р. Развели тут. Это может себе позволить
    > практически каждый, у кого более-менее новая тачка.

    Производители оперативки одобряют этот пост :)

     
     
  • 3.76, Аноним (-), 10:50, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А также процессоров и материнских плат. Каждый из них обойдется дороже
     
  • 2.87, pavlinux (ok), 17:42, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Блин, 16гб рамы ddr3 стоит 3000р. Развели тут. Это может себе позволить
    > практически каждый, у кого более-менее новая тачка.

    Мне нужна DDR1 ECC Registered. Куплю за 3000 и ещё спасибо скажу.

     
     
  • 3.88, inferrna (ok), 18:37, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Бери у меня DDR2 ECC Full Buffered, вдруг после напильника воткнёшь.
     

  • 1.54, Anonus (?), 01:37, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Действительно интересная новость. Пусть поскорее допиливают, а скорость компиляции и гигоярды памяти возьмут на себя дистростроители, у них всё это есть.
     
  • 1.61, Xasd (ok), 04:06, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > оптимизации во время динамического связывания

    ...

    > возможно inlinе-развёртывание, в исполняемый файл

    выглядет как противоречивые параграфы :)

     
  • 1.63, 3DRaven (?), 07:20, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ух ты :) Поскорее бы liquorix это дело врубил на полную. Сам бы повозился когда то, сейчас уже надоело, хотя памяти и хватит, но телевизор с собирающимся чем то уже не развлекает, а по работе не надо.
     
  • 1.64, Аноним (-), 07:29, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Есть какой то способ может собирать ядро на старом компьютере?
    Как обойти эти требования памяти и почему нужно столько гигабайт для компиляции программы?
    Неужели нет способа компилировать на компьютерах 512 Мб или 1 Гб?
    Я просто не понимают зачем столько памяти, и почему на старом компьютере или на дешёвом новом ноутбуке нельзя собирать, пусть это получится дольше, пусть, но почему возможность сборки отсутствует начисто?!?
     
     
  • 2.67, Аноним (-), 09:01, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    сделай своп 9гиг и компили себе
     
     
  • 3.69, Аноним (-), 10:01, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > сделай своп 9гиг и компили себе

    ...и пусть весь мир подождет...

     
  • 2.70, Аноним (-), 10:03, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть какой то способ может собирать ядро на старом компьютере?

    Не используйте LTO, и сможете собирать на старом железе. Никто ж не заставляет.

     

  • 1.72, Аноним (-), 10:16, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Я хочу именно LTO, хочу максимум производительности.
    И мне лично совершенно непонятно, почему нельзя производить компиляцию по частям, загрузил все 500 Мб, откомпилил, загрузил следющую порцию кода и т.д.
    Зачем этот идиотизм с 4-10 Гб, неужели нельзя обойти проблему?
    Как этот процесс происходит?
     
     
  • 2.73, arisu (ok), 10:21, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    да дураки они там все в команде gcc. адиёты. пришли бы на опеннет, спросили анонимуса — и сделали Как Надо. ну тупыыые!
     
  • 2.74, 1 (??), 10:24, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >И мне лично совершенно непонятно, почему нельзя производить компиляцию по частям, загрузил все 500 Мб, откомпилил, загрузил следющую порцию кода и т.д.
    >Как этот процесс происходит?

    в гугл а потом и глупые вопросы отпадут...
    >Зачем этот идиотизм

    ?

     
  • 2.80, Анон (?), 11:58, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собери ядро у одноклассника на игровом компе и принеси на флешке, на свой комп. В чем проблема?
     
  • 2.84, Anonimus.UA (?), 15:07, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Я хочу именно LTO, хочу максимум производительности.
    > И мне лично совершенно непонятно, почему нельзя производить компиляцию по частям, загрузил
    > все 500 Мб, откомпилил, загрузил следющую порцию кода и т.д.
    > Зачем этот идиотизм с 4-10 Гб, неужели нельзя обойти проблему?
    > Как этот процесс происходит?

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

     
  • 2.85, Moomintroll (ok), 16:03, 21/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    "LTO-оптимизации отличаются учётом состояния всех файлов, участвующих в процессе сборки, в то время, как традиционные режимы оптимизации оптимизируют каждый файл по отдельности и не учитывают условия вызова функций, определённых в других файлах."

    Что непонятно в слове "всех"?

     
     
  • 3.90, Led (ok), 04:43, 22/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Учтём и то, что это даже удобно когда обычный юзер не может
    > ядро собрать

    Это не просто удобно, а очень полезно. Т.о., возможно, школота и студенты больше времени посвятит своим прямым обязанностям - учёбе. Или потратит это время на наркоту и бухло, и эта бесполезная сущность сдохнет молодой.


     
     
  • 4.97, Michael Shigorin (ok), 03:10, 24/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Это не просто удобно, а очень полезно.

    Это и была залётная школота -- им мозгозаменитель в MS прополоскали и отправили дальше гадить.

     
  • 3.91, Аноним (-), 06:53, 22/08/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Пообщался со спецом в этой области.
    Можно делать и по частям, можно и с помощью большого объёма на жестком диске.
    Долго ли забить 4 или 10 Гб информацией с ж/д? Запись - помедленнее пойдёт, но в целом всё это терпимо.
    Если это прямо сейчас делать, то о производительности можно забыть, ничего не оптимизировано, может разрабов компилятора попинать кому?
     

  • 1.75, bebeka (?), 10:43, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    LTO-оптимизация это реальная IT-технология
     
  • 1.82, Аноним (-), 14:48, 21/08/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    так какой прирост даёт 0000.1% почему нет данных гуглю ненайду чтото
     

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



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

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