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

 
 
 
Reply to this topicStart new topic
> AVR Studio + WinAVR, Медленная компиляция
gte
сообщение Sep 21 2011, 13:21
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



AVR Studio + WinAVR, вся папка проекта 240 килобайт, компиляция несколько секунд (полная до 10)
Загрузка на процессора минимальна (i7, памяти максимум, 32 разрядная ЧЗ).

Я так понимаю, время занимают дисковые операции. Никто не разбирался что подправить?
Go to the top of the page
 
+Quote Post
ARV
сообщение Sep 21 2011, 15:26
Сообщение #2


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



по-вашему, это много?! blink.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 21 2011, 20:39
Сообщение #3


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(gte @ Sep 21 2011, 16:21) *
Я так понимаю, время занимают дисковые операции. Никто не разбирался что подправить?
Винчестер. Допатчить до SSD.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
gte
сообщение Sep 22 2011, 04:39
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(ReAl @ Sep 21 2011, 23:39) *
Винчестер. Допатчить до SSD.

Да, уже подумываю. Посмотрел, так до GCC дело дошло только почти через 2 секунды.
Получается сильно не сбалансированный комп.
Цитата(ARV @ Sep 21 2011, 18:26) *
по-вашему, это много?! blink.gif

Да.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 22 2011, 07:09
Сообщение #5


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(gte @ Sep 22 2011, 07:39) *
Посмотрел, так до GCC дело дошло только почти через 2 секунды.
Это при первом запуске компиляции или при последующих перекомпиляциях?
По нормальному при достаточной памяти после первого запуска все gcc-шные бинарники должны уже в дисковых кешах в ОЗУ лежать и последующие перекомпиляции запускаться быстрее.

Еще, говорят, RAM-диск можно устроить. Это урежет основную память, но тогда то таки уже диск, а не кеши.
Не по делу сбрасываться и заново лезть на винт не будет. Перед началом работы (при загрузке компа запускать) копировать туда компилятор, настроить пути (PATH либо в makefile). Разобраться, где gcc складывает временные файлы, попробовать перенаправить туда же.
Было бы желание побороться, а противника найти можно.

p.s. make -j 4 или даже -j 8 не пробовали? хотя, если загрузка на процессор малая, это врядли силльно поможет

Вот только что попробовал (не -j, а последовательные запуски)
avreal (около 400 кб исходников)
Core2 Duo из младших - E4600 @ 2.4 ГГц. 1G RAM DDR2-800
ubuntu 64 bit

> time make -j 4

Полная перекомпиляция (просто вручную начисто вытирался каталог с объектниками и результат компиляции) первый запуск и последующие как раз около двух секунд разницы.
4.8 секунды и 2.7.

Таки 10 секунд долговато... Хотя мне те 5 секунд казались десятью, пока time не сказал, что их 4.8 :-)
Может, это сама студия тормозит где-то (на перехвате вывода, то-сё)?
Попробуйте отдельным запуском make.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
gte
сообщение Sep 22 2011, 12:39
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(ReAl @ Sep 22 2011, 10:09) *
Это при первом запуске компиляции или при последующих перекомпиляциях?
По нормальному при достаточной памяти после первого запуска все gcc-шные бинарники должны уже в дисковых кешах в ОЗУ лежать и последующие перекомпиляции запускаться быстрее.
===
Полная перекомпиляция (просто вручную начисто вытирался каталог с объектниками и результат компиляции) первый запуск и последующие как раз около двух секунд разницы.
4.8 секунды и 2.7.


Все же около 5 секунд при повторной полной перекомпиляции, бывает меньше.

У меня озу 12 Гиг, но винда 32 разряда. РАМ диск есть (в комплекте с одним пакетом), но отъедает от рабочих 3 гигов.
Я посмотрел что винда делает. Тот make перед тем как запустить по всем путям поищет :-).
Я два вырезки приведу
Код
16:19:08,2992286    AVRStudio.exe    3912    QueryOpen    D:\Program Files\Atmel\AVR Tools\AvrStudio4\make.exe    NAME NOT FOUND    
16:19:08,2993668    AVRStudio.exe    3912    QueryOpen    E:\Disk_D\Project_2011\VIDEO\sofr\make.exe    NAME NOT FOUND    
16:19:08,2994962    AVRStudio.exe    3912    QueryOpen    D:\WINDOWS\system32\make.exe    NAME NOT FOUND    
16:19:08,2996333    AVRStudio.exe    3912    QueryOpen    D:\WINDOWS\system\make.exe    NAME NOT FOUND    
16:19:08,2997327    AVRStudio.exe    3912    QueryOpen    D:\WINDOWS\make.exe    NAME NOT FOUND    
16:19:08,2998889    AVRStudio.exe    3912    QueryOpen    D:\WinAVR\utils\bin\make.exe    SUCCESS    CreationTime: 21.12.2007
16:19:08,3000374    AVRStudio.exe    3912    QueryOpen    D:\WinAVR\utils\bin\make.exe    SUCCESS    CreationTime: 21.12.2007
16:19:08,3001897    AVRStudio.exe    3912    QueryOpen    D:\WinAVR\utils\bin\make.exe    SUCCESS    CreationTime: 21.12.2007
16:19:08,3003252    AVRStudio.exe    3912    QueryOpen    D:\Program Files\Atmel\AVR Tools\AvrStudio4\make.exe    NAME NOT FOUND    
16:19:08,3004530    AVRStudio.exe    3912    QueryOpen    E:\Disk_D\Project_2011\VIDEO\sofr\make.exe    NAME NOT FOUND    
16:19:08,3005805    AVRStudio.exe    3912    QueryOpen    D:\WINDOWS\system32\make.exe    NAME NOT FOUND    
16:19:08,3007039    AVRStudio.exe    3912    QueryOpen    D:\WINDOWS\system\make.exe    NAME NOT FOUND    
16:19:08,3008033    AVRStudio.exe    3912    QueryOpen    D:\WINDOWS\make.exe    NAME NOT FOUND    
16:19:08,3009506    AVRStudio.exe    3912    QueryOpen    D:\WinAVR\utils\bin\make.exe    SUCCESS


И такое

Код
16:19:08,3224429    make.exe    2220    QueryOpen    D:\WinAVR\utils\bin\sh.exe.exe    NAME NOT FOUND    
16:19:08,3225852    make.exe    2220    CreateFile    D:\WinAVR\utils\bin\sh.exe.exe    NAME NOT FOUND    
16:19:08,3227226    make.exe    2220    QueryOpen    D:\WinAVR\utils\bin\sh.exe.cmd    NAME NOT FOUND    
16:19:08,3228508    make.exe    2220    CreateFile    D:\WinAVR\utils\bin\sh.exe.cmd    NAME NOT FOUND    
16:19:08,3229810    make.exe    2220    QueryOpen    D:\WinAVR\utils\bin\sh.exe.bat    NAME NOT FOUND    
16:19:08,3231062    make.exe    2220    CreateFile    D:\WinAVR\utils\bin\sh.exe.bat    NAME NOT FOUND    
16:19:08,3232622    make.exe    2220    QueryOpen    D:\WinAVR\utils\bin\sh.exe    SUCCESS    
16:19:08,3234145    make.exe    2220    CreateFile    D:\WinAVR\utils\bin\sh.exe    SUCCESS    
16:19:08,3235585    make.exe    2220    QueryBasicInformationFile    D:\WinAVR\utils\bin\sh.exe    SUCCESS    
16:19:08,3236777    make.exe    2220    ReadFile    D:\WinAVR\utils\bin\sh.exe    SUCCESS    Offset: 0, Length: 255
16:19:08,3238098    make.exe    2220    CloseFile    D:\WinAVR\utils\bin\sh.exe    SUCCESS


Видимо, настраивать надо.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 22 2011, 13:40
Сообщение #7


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



А у меня под win make.exe sh.exe и ещё несколько утилит всегда лежал то в c:\bin, то в c:\msys\1.0\bin
Соответствующий каталог я вручную прописывл первым в путях (в администраторе корректировал переменную PATH в системной части переменных окружения).

Ну а в этом примере на core2duo 2.4 GHz под линуксом я ничего и не трогал, как само всё легло, так и лежит.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
gte
сообщение Sep 22 2011, 14:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(ReAl @ Sep 22 2011, 16:40) *
А у меня под win make.exe sh.exe и ещё несколько утилит всегда лежал то в c:\bin, то в c:\msys\1.0\bin

Интересно, какой результат. Ссылку на то, чем я смотрел отправил в личку. Работает без инсталяции.
Ссылку на нее брал в форуме поддержки.

P.S. Откуда make берет такие имена, как "sh.exe.exe", "sh.exe.cmd"
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 22 2011, 20:47
Сообщение #9


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



1. У меня в том предложении все в прошедшем времени («всегда лежал»). Виндов-то всяких хватает для сборки/проверки, но сейчас «межсезонье» и середина переезда с компа на комп, ни одной развёрнутой нет.
Работаю-то я на 96% в линуксе.

2. А может то и не make. Скорее всего не make.
Попробуйте из командной строки набрать sh.exe и посмотреть результат.
make только какой-то CreateProcess() или exec() делает с именем "sh.exe", а уже по PATH сама ОС ищет, приклеивая по очереди расширения из %PATHEXT%.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
gte
сообщение Sep 23 2011, 06:45
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(ReAl @ Sep 22 2011, 23:47) *
1. Работаю-то я на 96% в линуксе.

Понятно, спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 23:49
Рейтинг@Mail.ru


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