реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Почему KEIL компилирует медленнее IAR в 30 раз?
Forger
сообщение Jun 13 2017, 12:45
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(ViKo @ Jun 13 2017, 15:39) *
Версия была еще до паков, кажется.

Скорее всего 4й keil, но на нем уже наверно никто не сидит sm.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
BioWolf2000
сообщение Jun 15 2017, 06:29
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 897



Цитата(Forger @ Jun 13 2017, 14:41) *
Если диск, где лежат файлы проекта, еще из прошлого столетия, то такой "квантовый" скачок скорости вполне возможен sm.gif
У меня проекты лежат на внешнем SSD (usb 3.0), к тому свежий Keil очень хорошо работает на современных многоядерных процессорах.
В итоге любой проект одинаково быстро компилируется с любыми галочками и без оных.


Как раз таки проект лежит на SSD Kingston SUV400S37240G. ОЗУ 16Гб. Процессор i5-6400 2.7Ghz. Win10 x64. С галочкой Browse information компиляция проекта 6:40. Без - 11 секунд. Keil 5.23. Компилятор V5.06
Снятие галочки Debug information ускоряет процесс компиляции только на 1 секунду.
В проекте компилируется 140 файлов. Проект изначально создан генератором STM32Cube. Большое время компиляции занимает стек LwIP

Загрузка системы с галочкой Browse information и без
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
ex740104/103 БГУИР
Go to the top of the page
 
+Quote Post
Forger
сообщение Jun 15 2017, 06:53
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(BioWolf2000 @ Jun 15 2017, 09:29) *
Как раз таки проект лежит на SSD Kingston SUV400S37240G. ОЗУ 16Гб. Процессор i5-6400 2.7Ghz. Win10 x64. С галочкой Browse information компиляция проекта 6:40. Без - 11 секунд. Keil 5.23. Компилятор V5.06
Снятие галочки Debug information ускоряет процесс компиляции только на 1 секунду.

У меня комп на работе намного скромнее (вин 7), но такого поведения я не заметил laughing.gif
Правда проекты у меня не имеют такого числа компилируемых файлой, все "лишнее" и отлаженное выложено в библиотеки (см. ниже).

Цитата
В проекте компилируется 140 файлов. Проект изначально создан генератором STM32Cube. Большое время компиляции занимает стек LwIP

Такую уйму файлов из сторонних библиотек имеет смысл компилировать в lib файлы и подключать к проекту.
В keil есть поддержка дерева проектов (multi-poject workspace), тогда можно просто создать соотв. проекты для формирования lib и подключить их в группу с самим проектом.
Тогда в проекте можно оставить лишь те файлы, которые проходят отладку, а готовые модули можно аналогично "скидывать" в библиотеки (с галочкой Browse information в версии DEBUG и без - RELEASE)
В итоге полная пересборка проекта занимает считанные сек (в любом сочетании галочек) sm.gif

зы. Т. е. проекты храните на системном диске, где винда лежит??
Путь к проекту не содержит русские буквы?


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
BioWolf2000
сообщение Jun 15 2017, 07:12
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 897



Цитата(Forger @ Jun 15 2017, 09:53) *
У меня комп на работе намного скромнее (вин 7), но такого поведения я не заметил laughing.gif
Правда проекты у меня не имеют такого числа компилируемых файлой, все "лишнее" и отлаженное выложено в библиотеки (см. ниже).


Такую уйму файлов из сторонних библиотек имеет смысл компилировать в lib файлы и подключать к проекту.
В keil есть поддержка дерева проектов (multi-poject workspace), тогда можно просто создать соотв. проекты для формирования lib и подключить их в группу с самим проектом.
Тогда в проекте можно оставить лишь те файлы, которые проходят отладку, а готовые модули можно аналогично "скидывать" в библиотеки (с галочкой Browse information в версии DEBUG и без - RELEASE)
В итоге полная пересборка проекта занимает считанные сек (в любом сочетании галочек) sm.gif

зы. Т. е. проекты храните на системном диске, где винда лежит??
Путь к проекту не содержит русские буквы?


Путь к проекту не содержит русские буквы. А сам проект да, лежит на системном диске. Вторым диском подключен HDD Seagate 1Tb st1000dm010. Туда я настроил резервное копирование 2 раза в сутки. А сильно критично на системном диске с проектами работать? А за информацию про мультипроекты спасибо, буду сейчас настраивать


--------------------
ex740104/103 БГУИР
Go to the top of the page
 
+Quote Post
Forger
сообщение Jun 15 2017, 07:32
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(BioWolf2000 @ Jun 15 2017, 10:12) *
Путь к проекту не содержит русские буквы. А сам проект да, лежит на системном диске. Вторым диском подключен HDD Seagate 1Tb st1000dm010. Туда я настроил резервное копирование 2 раза в сутки.

А сильно критично на системном диске с проектами работать?

Если есть резервирование, то не критично sm.gif

У меня на системном диске (разумеется SSD!) лежит только винда, установленные программы и свап-файл. На всех компах.
Для хранения проектов у меня используется внешний SSD 250Гб (по USB3.0), на всех моих рабочих компах он определяется под одной и той же буквой (диск Z),
а запуск, отладка и компиляция происходит прямо с диска. Сам диск SSD M2 - крохотный, не больше длинной зажигалки ))
На этом же диске портабл-браузер, портабл-почта, любимая музыка и т.п. .... Прям как вассерман - все свое ношу с собой sm.gif

Оказалось очень удобно - не нужно заниматься ононизмом синхронизацией проектов, истории браузера и т. п.
Разумеется, диск шифрован (под паролем) и в обязательном порядке его содержимое периодически бэкапится на на другой внешний подключаемый диск, который хранится в темном чулане sm.gif

Цитата
А за информацию про мультипроекты спасибо, буду сейчас настраивать

Оч. полезный инструмент, есть во всех нормальных IDE, однако, почему-то не все его используют ...


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
BioWolf2000
сообщение Jul 21 2017, 10:54
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 897



В Keil v.5.24.2 установил компилятор V6.7. Проект стал компилироваться за 12 секунд с включенным Browse Information. Чтобы не выдавало предупреждения, поставил в настройках AC5-like Warnings. Единственная проблема была с компиляцией ассемблерных вставок, генерируемых кубом. В установленной папке STM32Cube подправил файл FREERTOS-STM32F7xx_Configs.xml
Заменил строки
Код
<SubComponent Csub="Keil">    <!-- Keil refers to RVDS files -->
            <File Category="source" Name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
            <File Category="header" Name="Source/portable/RVDS/ARM_CM7/r0p1/portmacro.h"/>
        </SubComponent>


на
Код
<SubComponent Csub="Keil">    <!-- Keil refers to RVDS files -->
            <File Category="source" Name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
            <File Category="header" Name="Source/portable/GCC/ARM_CM7/r0p1/portmacro.h"/>
        </SubComponent>






--------------------
ex740104/103 БГУИР
Go to the top of the page
 
+Quote Post
Forger
сообщение Jul 21 2017, 11:20
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(BioWolf2000 @ Jul 21 2017, 13:54) *
В Keil v.5.24.2 установил компилятор V6.7.

А я пока отказался от компилятора v6 в пользу "старого" v5, потому что последний все равно дает меньший код, хотя ARM утверждает обратное.
Сначала предположил, что все дело в стандартных подключаемых библиотеках, поэтому выпилил их в ноль. Но не помогло sad.gif

Поэтом я лично v6 вижу пользу лишь в действительно крупных масштабных проектах, где разница в объёме кода не так критична, а гораздо важнее "умность" компилятора.
Во всех остальных случаях пока что прекрасно справляется v5.
HAL не использую (нет смысла), вполне хватает прямого обращения к регистрам и конечно же "голого" CMSIS.
Сейчас все проекты компилируются быстро. Сильно влияет то, что готовые отлаженные блоки своевременно собираю в библиотеки, которые подключены итоговому проекту (уже писал об этом).
Отладка производится частями с соотв. тестами.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
serglg
сообщение Jul 22 2017, 05:04
Сообщение #23


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603



Цитата(BioWolf2000 @ Jun 13 2017, 13:56) *
Если еще кому интересно. в Options->Output можно убрать галочку Browse Information. Не создаются файлы .CRF и скорость компиляции раз в 30 увеличивается


Ха, реально быстрей стало.
А что мы теряем? Зачем Browse Information?
Go to the top of the page
 
+Quote Post
ohmjke
сообщение Jul 22 2017, 11:53
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 116
Регистрация: 27-01-10
Из: СПб
Пользователь №: 55 094



Цитата(serglg @ Jul 22 2017, 08:04) *
Ха, реально быстрей стало.
А что мы теряем? Зачем Browse Information?


Нужно для навигации по проекту - "Go to definition", "Go to reference".
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 06:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01447 секунд с 7
ELECTRONIX ©2004-2016