Компиляция скетча Blink - 95 секунд.

staxbel
Offline
Зарегистрирован: 27.03.2022

Добрый вечер, подскажите, что за беда такая. Самый простой скетч компилируется 1,5 минуты. Не могу понять куда, копать. Стоит последняя версия Arduino IDE 1.8.19. Очень надеюсь на помощь.

rkit
Offline
Зарегистрирован: 23.11.2016

в покупку нормального компьютера

staxbel
Offline
Зарегистрирован: 27.03.2022

А что в вашем понимании нормального? I5-9400/16gb памяти это уже для IDE мало?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

staxbel пишет:

I5-9400/16gb памяти 

Безнадёжно тормозная конфигурация.  Нада БОЛЬШЕ ЯДЕР!!!

b707
Offline
Зарегистрирован: 26.05.2017

staxbel пишет:

Добрый вечер, подскажите, что за беда такая. Самый простой скетч компилируется 1,5 минуты. Не могу понять куда, копать. Стоит последняя версия Arduino IDE 1.8.19. Очень надеюсь на помощь.

под какую плату компиляция? Если под ЕСП8266, то время нормальное

 

b707
Offline
Зарегистрирован: 26.05.2017

staxbel пишет:

А что в вашем понимании нормального? I5-9400/16gb памяти это уже для IDE мало?

а диски какие?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Я даже никогда не засекал такое время. Зачем? Какая разница - 1 минута или 3? На что это влияет?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

перейти на LINUX там будет сильно быстрее

Green
Offline
Зарегистрирован: 01.10.2015

BOOM пишет:

Я даже никогда не засекал такое время. Зачем? Какая разница - 1 минута или 3? На что это влияет?


Это просто задрачивает! Поэтому, если есть возможность, пишу и компилирую вне Ардуино, через Makefile. Там это занимает секунды, информативно, и позволяет прыгать по щелчку на ошибки в исходнике.

staxbel
Offline
Зарегистрирован: 27.03.2022

Жесткий диск SSD. Компилирую под STM32/Nucleo

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Green пишет:

Это просто задрачивает!


Ромашка там или пустырник, не?

Я, конечно же, каждые 2 минуты не компилирую, но как то спокойно к этому отношусь...

Green
Offline
Зарегистрирован: 01.10.2015

RAM диск тоже спасает. Было обсуждение.

Green
Offline
Зарегистрирован: 01.10.2015

BOOM пишет:

Я, конечно же, каждые 2 минуты не компилирую, но как то спокойно к этому отношусь...


Из за чего народ пошустрее процы ставит, материнки меняет, винты... Потому что не хочет ждать! Конечно, есть и такие которым всё пох.

b707
Offline
Зарегистрирован: 26.05.2017

staxbel пишет:

Жесткий диск SSD. Компилирую под STM32/Nucleo

у меня примерно ваша конфигурация, первая компиляция идет 25-30 секунд, последующие 5-10 сек

Да, насчет дисков - для скорости на SSD должна быть как папка Ардуино, так и временная папка, в которой компилируются скетчи

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Ноутбук 2011 года, 2 ядра 4Г памяти, SSD

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

У меня тоже 2011 или 2012 года компьютер, ни разу не бесился по его работе. А время компиляции - просто не замерял.

b707
Offline
Зарегистрирован: 26.05.2017

Деда, ты для Уно компилишь, а это не считово :)

Если серьезно, то для СТМ или ЕСП совсем другое время. Особенно для ЕСП - там легко может быть минут 10.... когда меня это достало  - переставил Ардуино на SSD - стало раз в пять быстрее

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Ну вот под ATmega8a сейчас компилировал и засекал - 10 секунд. Это много? Я не знаю - не напрягает меня и ладно.

AMD FX-6200 / 8Gb / SSD128Gb / 1Tb HDD (Не знаю зачем такой большой брал)

b707
Offline
Зарегистрирован: 26.05.2017

BOOM пишет:

 1Tb HDD (Не знаю зачем такой большой брал

чтоб не нужно было каждые полгода чистить :)

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

b707 пишет:

BOOM пишет:

 1Tb HDD (Не знаю зачем такой большой брал

чтоб не нужно было каждые полгода чистить :)

Не поверишь - за все время (считай 10 лет) даже на 40% не заполнен. И то огромные файлы - это фильмы. Тогда с торрента фильмы скачивали и потом смотрели. А сейчас все онлайн )))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

b707 пишет:

Деда, ты для Уно компилишь, а это не считово :)

Точно, ТС за STM писАл, не разглядел я сослепу. 

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

Ардуино ИДЕ и грузиться стала очень долго. 

Когда начинал ей пользоваться, то скорость загрузки, в сравнении с средой от Atmel, просто радовала.

А сейчас запустишь, и занимаешься чем то другим, пока загрузится. (пока v. 1.8.5)

По компу - должно хватать, ноут Core i5-8265U CPU @ 1.60GHz, RAM-8GB, SSD.

По времени компиляции, загрузки на ESP меня не напрягает. Компилирую в основном, когда уже все написано. 

b707
Offline
Зарегистрирован: 26.05.2017

SergeiL пишет:

Ардуино ИДЕ и грузиться стала очень долго.

это как раз не проблема, запускаю один раз и потом иногда неделями не закрываю :)

Цитата:
По времени компиляции, загрузки на ESP меня не напрягает. Компилирую в основном, когда уже все написано. 

меня как раз напрягает, особенно ЕСП.  Я перекомпилирую постоянно, привычка такая - написал 10-20 строк - нажал на компиляцию

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

b707 пишет:
запускаю один раз и потом иногда неделями не закрываю :)

Я перекомпилирую постоянно, привычка такая - написал 10-20 строк - нажал на компиляцию

Я пишу и правлю код, в Notepad++, он и грузится мгновенно, и сохраняет все несохраненные файлы.

Создаешь "новый", накидываешь туда как в блокнот и не сохраняешь, и если Notepad++ будет закрыт, при открытии этот файл не будет потерян, все данные остаются. 

А компилирую, уже когда загружаю. Тогда и все описки всплывают, правлю в Arduino IDE, и загружаю.

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

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

b707 пишет:

SergeiL пишет:

Ардуино ИДЕ и грузиться стала очень долго.

это как раз не проблема, запускаю один раз и потом иногда неделями не закрываю :)

А как так у тебя получается? У меня если Arduino IDE открыта с каким кодом долго, то потом просто отказывается компилироваться (на какие-то темповые файлы начинает ругаться). Поэтому закрываю.

b707
Offline
Зарегистрирован: 26.05.2017

BOOM пишет:

А как так у тебя получается? У меня если Arduino IDE открыта с каким кодом долго, то потом просто отказывается компилироваться (на какие-то темповые файлы начинает ругаться). Поэтому закрываю.

ничего специально не делаю. Вот только что скомпилил скетч, открытый, судя по названию, 15 марта. Без проблем скомпилировался, используя пре-компилированные файлы 2хнедельной давности

Green
Offline
Зарегистрирован: 01.10.2015

SergeiL пишет:

Я пишу и правлю код, в Notepad++, он и грузится мгновенно, и сохраняет все несохраненные файлы.


Ну конечно, приятно работать с нормальным редактором, а не с тем уёбищем, что предоставляет IDE (привет, Sadman41)).

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

BOOM пишет:

А как так у тебя получается? У меня если Arduino IDE открыта с каким кодом долго, то потом просто отказывается компилироваться (на какие-то темповые файлы начинает ругаться). Поэтому закрываю.

У меня так же вылезает ошибка, закроешь, откроешь и все без ошибок собирается.

Причем вечером все собиралось, закрыл ноут - он заснул, утром на работу, обратно, и уже не компилируется.

А если еще и монитор порта был открыт, а плата отключена, то после выхода из "сна" начинает завывать вентилятор процессора. Закроешь монитор, вентилятор останавливается совсем. 

b707
Offline
Зарегистрирован: 26.05.2017

SergeiL пишет:

У меня так же вылезает ошибка, закроешь, откроешь и все без ошибок собирается.

у меня было такое после того как "вручную" перенес Ардуино ИДЕ на другой диск. первая компиляция проходила в новой папке, а следующая начинала искать старую и все рушилось. Боролся долго, в итоге все-таки пришлось переставить ИДЕ на новый диск штатным порядком, проблема ушла

Вы. кстати, в следующий раз обратите внимание, каких файлов ИДЕ не может найти - может станет понятнее, как исправить.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Не забыть бы на них внимание обратить ))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

BOOM пишет:

Не забыть бы на них внимание обратить ))

просто надо не заниматься хернёй, а пользовать портабле версией и таки да настроить папки временных файлов в переменных среды окружения )))

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Переносной версией пользоваться на одном и том же компьютере - как то странно, как минимум , не? ))))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

BOOM пишет:

Переносной версией пользоваться на одном и том же компьютере - как то странно, как минимум , не? ))))

а ты её настраивал как в фэншуе прописано, папку portable внутри создавал? мне когда надо компилировать и стартовать быстро разворачиваю новую с нужными библиотеками и платой и всё очень неплохо шуршит

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Я феншую ту не читал (и не знаю где взять почитать). 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

BOOM пишет:

Я феншую ту не читал (и не знаю где взять почитать). 

всё там жеж )))

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

b707 пишет:
Вы. кстати, в следующий раз обратите внимание, каких файлов ИДЕ не может найти - может станет понятнее, как исправить.

Библиотеку не находил, которую я правил в Notepad++. В Notepad файлы сохранил, а ИДЕ не находит.

Я то знаю, что файлы на месте, и не заблокированы. Закрыл/открыл ИДЕ, все скомпилировалось без ошибок и варнингов.

Списал на "особенности ИДЕ", не стал заморачиваться. Просто нужно закрыть/открыть, и не париться. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

SergeiL пишет:

b707 пишет:
Вы. кстати, в следующий раз обратите внимание, каких файлов ИДЕ не может найти - может станет понятнее, как исправить.

Библиотеку не находил, которую я правил в Notepad++. В Notepad файлы сохранил, а ИДЕ не находит.

Я то знаю, что файлы на месте, и не заблокированы. Закрыл/открыл ИДЕ, все скомпилировалось без ошибок и варнингов.

Списал на "особенности ИДЕ", не стал заморачиваться. Просто нужно закрыть/открыть, и не париться. 

Да, это именно "особенности ИДЕ".

Среда в момент запуска шерстит по всем папкам, где, по ее мнению, могут быть библиотеки, и все их запоминает. Именно поэтому:

- так долго грузится,

- не воспринимает ничего, что изменилось после загрузки.

b707
Offline
Зарегистрирован: 26.05.2017

andriano пишет:

- не воспринимает ничего, что изменилось после загрузки.

не совсем так. Если прошлая компиляция завершилась ошибкой или если сменилась настройка платы - библиотеки пересканируются и перекомпилируются заново. Это удобно использовать, если правишь код библиотеки прямо в каталогах ардуино ИДЕ.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

b707 пишет:

andriano пишет:

- не воспринимает ничего, что изменилось после загрузки.

не совсем так. Если прошлая компиляция завершилась ошибкой или если сменилась настройка платы - библиотеки пересканируются и перекомпилируются заново. Это удобно использовать, если правишь код библиотеки прямо в каталогах ардуино ИДЕ.

"Пересканируются" - т.е. если я добавил новый файл, то он будет подхвачен без перезагрузки IDE?

Что-то я такого не встречал.

Можно конкретный сценарий?

Что-то мне кажется, что ничего там не пересканируется, а перекомпиляция зависит (как и в любом случае) от того, что старше - исходник или объектник.

b707
Offline
Зарегистрирован: 26.05.2017

andriano пишет:

"Пересканируются" - т.е. если я добавил новый файл, то он будет подхвачен без перезагрузки IDE?

Что-то я такого не встречал.

Можно конкретный сценарий?

легко.

Компилируем скетч, получаем ошибку "нет библиотеки....". Не закрывая ИДЕ, подкладываем папку библиотеки просто копированием в libraries. Нажимаем снова компиляцию - библиотека подхватывается сама.

Цитата:
Что-то мне кажется, что ничего там не пересканируется, а перекомпиляция зависит (как и в любом случае) от того, что старше - исходник или объектник.

абсолютно верно. Только ИДЕ устроена так, что при любой ошибке выполняется функция make clean, все обьектники удаляются и следующая компиляция выполняется с чистого листа.

Я неоднократно этим пользовался, исправляя код библиотек "на ходу". Чтоб изменения учитывались в коде, достаточно сделать любую опечатку. Компиляция вылетает, опечатку исправляешь - следующая компиляция идет уже с актуальным исходником библиотек. Этот метод быстрее, чем перезапуск ИДЕ после каждой правки.

 

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

b707 пишет:
Я неоднократно этим пользовался, исправляя код библиотек "на ходу". Чтоб изменения учитывались в коде, достаточно сделать любую опечатку. Компиляция вылетает, опечатку исправляешь - следующая компиляция идет уже с актуальным исходником библиотек. Этот метод быстрее, чем перезапуск ИДЕ после каждой правки.

Аналогично.

В ИДЕ открыт тестовый код, а Notepad++ файлы библиотеки.

После правки файлов библиотеки, нажимаю сохранить в Notepad++ и кнопку "скомпилировать, загрузить" в ИДЕ.

Компилирует, загружает, подхватывает исправленную библиотеку.

Изменения, сделанные в библиотеке, корректно отрабатывают на плате.