Разделение проекта на несколько солюшенов

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5526
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 18 раз
Поблагодарили: 77 раз

Разделение проекта на несколько солюшенов

Сообщение finsoftrz »

Узким место в кларионе всегда была необходимость пересборки всех app в солюшене после изменений в словаре. На больших проектах это может занимать достаточно продолжительное время. Не то, чтобы прямо напрягает, можно пойти минут 15 попить чайку или поотжиматься.
Чтобы ускорить процесс, можно попробовать сделать несколько дополнительных солюшенов, включив в них разные наборы app, а затем запустить сборку параллельно. Тут есть некоторое сомнение, не будет ли конфликтов при сохранении lib файлов, на которые имеются перекрестные ссылки. Я попробовал сделать 2 солюшена из нескольких достаточно объемных app.Вот картинка после запуска их сборки параллельно.

solutins.png

Видно, что каждая копия среды отъедает примерно 20% мощности процессора. То есть, параллельно можно запускать 3-4 солюшена, сократив время полной пересборки проекта в 3-4 раза. То есть, условно, с 15 мин до 4-5 мин.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5526
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 18 раз
Поблагодарили: 77 раз

Разделение проекта на несколько солюшенов

Сообщение finsoftrz »

Пока потребности что-то изменять в словаре нет, попробовал просто сборку большого проекта. Добавил в менеджере проектов список solutions, чтобы быстро открывать. Сгруппировал все app в 4 разных solutions. Время сборки общего solution со всеми app составил ~3 мин, параллельная сборка 4 небольших solution составила чуть больше 1 мин. Причем секунд на 20-25 просела на одном из solution, то есть время зависит от входящих app, его можно оптимизировать. Можно констатировать, что получаем выигрыш около 3 раз. Дальше посмотрю время сборки после изменений в словаре, когда они появятся.

solutins2.png
solutins2.png (7.45 КБ) 231 просмотр
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5526
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 18 раз
Поблагодарили: 77 раз

Разделение проекта на несколько солюшенов

Сообщение finsoftrz »

Сегодня было расширение структуры данных в словаре большого проекта (2743 процедур в 28 app, 5210 полей в 287 таблицах). При распараллеливании на 4 солюшена, сборка уложилась в 3 мин.
C6/C12, ШВС, tps/btrieve.
gopstop2007
Полимат
Сообщения: 1839
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 29 раз
Поблагодарили: 10 раз

Разделение проекта на несколько солюшенов

Сообщение gopstop2007 »

Молодец, что подсчитали, после Вашего поста, подсчитал свои app в проекте - 36, было лень считать процедуры и поля ) Все собирается не более 10-15 минут, это если что то в диктонари изменил, а так и то меньше.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5526
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 18 раз
Поблагодарили: 77 раз

Разделение проекта на несколько солюшенов

Сообщение finsoftrz »

У меня программа считает.

stat.png
C6/C12, ШВС, tps/btrieve.
Ответить