|
параллельная компиляция в EW IAR |
|
|
|
 |
Ответов
|
Nov 7 2014, 12:21
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата(Aner @ Nov 7 2014, 16:39)  Думается что на ваше ХОЧУ ... чтоб иар параллельно компилил задействовав все ядра процессора. IARу нужно "пояснять" как это делать. почему такая агрессия? в make 100 лет уж как распараллелили компиляцию. и я им ни чего не "пояснял". у иара есть такое или нет? Цитата И порой это проблема пользования IAR на процах с несколькими ядрами. Чаще под много ядерные процы пишут и отлаживаются на ОС, нежели на компиляторах. чего? ........ хотите сказать что это ос должна распаралелить компиляцию? возможно и так. но если в иар одном потоке компилит все исходники поочереди, то врятли ос чегото распаралелит. если компилить исходники в разных потоках, то тут ос может рапаралелить..... имхо. но кабы не было в make это включается и отключается. и это заметно. в иаре.... как-то не заметно. вот я и спросил - как это включается в иаре? что тут криминального? Цитата Напишите makefile для иара, и будет параллельно. а разве у иара есть мэйкфайл? на сколько мне известно makefile — сценарий сборки для процедуры make, являющейся неотъемлемой частью любого GCC-тулчейна. ps ну что за народ? ну если кто знает что ТАКОЕ есть а иаре, скажите - "нужно галочку там то поставить". Если кто-то ТОЧНО знает что такого нет, скажите - такого нет. Ну почему нужно на пустом месте холивар устроить, нужно ТС показать что ТС есть чмо, раз такие вопросы задает, а мы, "модераторы" и атцы форума есть боги. И что ТС нисшая форма. Вот по теме не знают.... но надо что-то же ляпнуть.... Цитата(Xenia @ Nov 7 2014, 17:08)  Интересно, если IAR станет параллельно несколько модулей компилить, то варнинги в перемешку будут сыпаться?  ну это не моя фантастическая идея. в gcc же это есть. был бы я автором компилятора, а бы копилировал один исходник.... и собирал бы весь вывод в std::string. после окончания компиляции захавтывал бы мютекс на cout, делал бы вывод и освобождал бы мютекс. варнинги и ошибки высапятся вперемешку... но сгруперованы от каждого файла вместе. это имхо. как это делают в make - не знаю, но они это делают.
|
|
|
|
|
Nov 7 2014, 14:04
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата(AHTOXA @ Nov 7 2014, 17:35)  Компилятор iar - это точто такая же утилита командной строки, как и компилятор gcc. Так что всё очень просто - напишите мейкфайл, который вызывает нужный вам компилятор. Кстати, где-то в форуме такие проскакивали. Проблема будет только в том, что IDE IAR-а не умеет запускать make. Так что придётся как-то выкручиваться. Например, эклипсой. ээээ.... ну чото костыльный метод какойто... может оно и взлетит... но думаю овчинка не стоит выделки. Если нет такой опции в иаре, то и не надо. Цитата Я думаю вам надо разобраться в собственном проекте 'в креаторе'. Что это за креатор, сколько у вас там файлов, сколько либ, что за оптимизация, какая линковка и проч. зачем разбираться в проекте? у меня нет проблемы в кривом прокте, я просто хочу распаралелить компиляцию. Вы мой проект не видели - уже окрестили что в нём что-то не так. 55 секунд на одном ядре - что тут не так? OpenOficce компилялся помню на одном ядре пару дней. Вот допустим есть у вас проект. Вы соптимизировали исходники, настроили оптимизацию, выжили из всего этого максимум. Код получился труъ! В учебники его. Такой код компиляется к примеру 1 день/час/минуту. Какойнить нуб написал бы подобный код который компилялся бы 1,5 дня/часа/минут. Вы молодец!!! Но, можно ещё ускорить процесс компиляции, можно заставить параллельно компилировать сразу несколько исходников на разных ядрах процессора, тем самым сократив время компиляции и ваш труъ-проект скомпиляться на этом же компе например за 0,3 дня/часа/минут. в make такая фича есть. вот и был вопрос - есть ли такая фича в иаре? Цитата Что это за креатор такойЦитата Хотите подробных ответов задавайте подробные вопросы. какие подобные? чем мой вопрос не устроил? Спросил колегу "Ты не помнишь как распараллелить компиляцию в gcc?", в ответ "Эээээ.... вроде в -j в мэйке". Про иар спросил на форуме... что не так? 2Xeniaкстати.... можно компилировать не то что параллельно на всех ядрах процессора, но и параллельно на нескольких компах в локальной сети. Канеш иару это точно не нужно, но запараллелить на одном камне былобы неплохо.
|
|
|
|
|
Nov 7 2014, 19:03
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(juvf @ Nov 7 2014, 16:04)  Но, можно ещё ускорить процесс компиляции, можно заставить параллельно компилировать сразу несколько исходников на разных ядрах процессора, тем самым сократив время компиляции и ваш труъ-проект скомпиляться на этом же компе например за 0,3 дня/часа/минут.
в make такая фича есть. вот и был вопрос - есть ли такая фича в иаре? Так крутой сжатый код с перекретно-модульной отимизацией и получается после мультифайловой компиляции. C make это не получится. По крайней мере в эклипсе (где по видимому используется make) у IAR-а не получилось. Так что надо думать быстрота компиляции оборачивается неоптимальностью кода в результате. Потом все таки надо корректно сравнивать. Сравнивать надо по времени весь процесс сборки и для длинных процессов раз уж заговорили о длинных компиляциях. А то может быть и линковка очень длинной. Скажем так: 584 файла IAR собираются в один HEX за 1 мин 30 сек без включенной оптимизации. Сколько времени make c GCC потратит на приблизительно такое же количество файлов? То что IAR делает многопоточную компиляцию можете увидеть в любом логе процессов. В том же Total Commander.
|
|
|
|
Сообщений в этой теме
juvf параллельная компиляция в EW IAR Nov 6 2014, 16:29 PheeL Есть галочка "C/C++ Compiler -> Language 1... Nov 6 2014, 16:49 juvf это не то
ЦитатаMulti-file Compilation
Enables mul... Nov 6 2014, 17:55 Xenia А зачем вообще компилировать параллельно?
Пуст... Nov 6 2014, 18:51 juvf ЦитатаА зачем вообще компилировать параллельно? чт... Nov 6 2014, 20:07 AlexandrY Цитата(juvf @ Nov 6 2014, 22:07) чтоб вре... Nov 6 2014, 20:30  juvf Цитата(AlexandrY @ Nov 7 2014, 01:30) У I... Nov 7 2014, 03:43   AlexandrY Цитата(juvf @ Nov 7 2014, 05:43) в QtCrea... Nov 7 2014, 07:39    juvf Цитата(AlexandrY @ Nov 7 2014, 12:39) Не ... Nov 7 2014, 11:29     AHTOXA Цитата(juvf @ Nov 7 2014, 16:29) я не хоч... Nov 7 2014, 11:37     AlexandrY Цитата(juvf @ Nov 7 2014, 13:29) да и вре... Nov 7 2014, 13:24  scifi Цитата(juvf @ Nov 7 2014, 15:16) а разве ... Nov 7 2014, 12:22    scifi Цитата(juvf @ Nov 7 2014, 17:04) ээээ....... Nov 7 2014, 14:11     juvf Цитата(scifi @ Nov 7 2014, 19:11) У меня ... Nov 7 2014, 16:57      scifi Цитата(juvf @ Nov 7 2014, 19:57) c эклипс... Nov 7 2014, 17:13       AHTOXA Цитата(scifi @ Nov 7 2014, 22:13) У меня ... Nov 7 2014, 17:26 Xenia Интересно, если IAR станет параллельно несколько м... Nov 7 2014, 12:08 juvf Цитата(AlexandrY @ Nov 8 2014, 00:03) Так... Nov 8 2014, 11:16 AlexandrY Цитата(juvf @ Nov 8 2014, 13:16) Допустим... Nov 8 2014, 17:53  juvf Цитата(AlexandrY @ Nov 8 2014, 22:53) Вот... Nov 8 2014, 20:40 scifi Молодой человек, у вас шнурок развязался гормон иг... Nov 8 2014, 21:22 kolobok0 Цитата(juvf @ Nov 6 2014, 19:29) вопрос в... Nov 8 2014, 21:40 zloe_morkoffko https://youtu.be/I5w3YyERbWg - "Using pararel... May 21 2015, 04:56 zltigo QUOTE (zloe_morkoffko @ May 21 2015, 07:5... May 21 2015, 13:32 RCray Поэтому все, кто тут охал ахал про отсутсвие выигр... Aug 3 2015, 01:57 zltigo QUOTE (RCray @ Aug 3 2015, 04:57) Поэтому... Aug 3 2015, 06:50
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|