Прекомпиляция сборок при компиляции Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.05.10 14:08
Оценка:
Всем привет.

При сборке Nemerle и интеграции к студии есть одна мелкая, но неприятная проблема. Хотя в конце сборки производится прекомпиляция сборок ngen-ом, по каким-то причинам она не дает ожидаемого результата.

Это выражается в том, что после компиляции проектов с помощью NemerleAll.nproj (т.е. батников: DevBuildQuick.cmd, DevBuildQuickWithTests.cmd, DevBuildForCommit.cmd, DevBuild2StageWithTests.cmd или DevBuild2Stage.cmd), последующие компиляции исходников немерле протекают со значительной задержкой. Загрузка компилятора занимает 3-5 секунд.

Если после этого прогнать Reg-bins-2.cmd, который по идее делает в точности тоже самое, что и вышеприведенные батники, то прекомпиляция проходит и следующие компиляции исходников немерла проходят намного быстрее.

Я не понимаю в чем заключается проблема при использовании NemerleAll.nproj. По идее выполняются те же самые вызовы ngen.exe. Однако ускорения загрузки компилятора от этого не происходит.

Если у кого-то есть какие-то идеи, или кто-то может заняться устранением этой проблемы, то милости просим!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Прекомпиляция сборок при компиляции Nemerle
От: catbert  
Дата: 04.06.10 14:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Всем привет.


VD>При сборке Nemerle и интеграции к студии есть одна мелкая, но неприятная проблема. Хотя в конце сборки производится прекомпиляция сборок ngen-ом, по каким-то причинам она не дает ожидаемого результата.


После установки *.msi Немерле на чистой машине в кеше GAC (и в списке сборок из Add Reference...) сборки Nemerle.dll, Nemerle.Compiler.dll не появляются.

Это та же проблема?
Re[2]: Прекомпиляция сборок при компиляции Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.06.10 14:30
Оценка:
Здравствуйте, catbert, Вы писали:

C>После установки *.msi Немерле на чистой машине в кеше GAC (и в списке сборок из Add Reference...) сборки Nemerle.dll, Nemerle.Compiler.dll не появляются.


C>Это та же проблема?


Нет. Это вообще не проблема. Так и должно быть.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Прекомпиляция сборок при компиляции Nemerle
От: catbert  
Дата: 04.06.10 21:33
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Нет. Это вообще не проблема. Так и должно быть.


Хмм. Я думал, ngen сгенерированные образы в GAC добавляет.
Re[3]: Прекомпиляция сборок при компиляции Nemerle
От: Ziaw Россия  
Дата: 05.06.10 05:26
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Нет. Это вообще не проблема. Так и должно быть.


Только при этом подключаемые сборки из папки лежащей внутри %Nemerle% должны попадать в референсы и макрореференсы тоже как $(Nemerle)\relative_to_nemerle_path. Сейчас туда попадает путь относительно проекта, что совсем не кошерно. А в макрореференсы у меня и руками не получилось запихать $(Nemerle)\Nemerle.Linq.dll
Re[4]: Прекомпиляция сборок при компиляции Nemerle
От: hardcase Пират http://nemerle.org
Дата: 05.06.10 08:21
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, VladD2, Вы писали:


VD>>Нет. Это вообще не проблема. Так и должно быть.


Z>Только при этом подключаемые сборки из папки лежащей внутри %Nemerle% должны попадать в референсы и макрореференсы тоже как $(Nemerle)\relative_to_nemerle_path. Сейчас туда попадает путь относительно проекта, что совсем не кошерно. А в макрореференсы у меня и руками не получилось запихать $(Nemerle)\Nemerle.Linq.dll



Отпиши в багтрек. Действительно полезная опция.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Я прошу... нет я требую!
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.06.10 09:13
Оценка:
Здравствуйте, catbert, Вы писали:

C>Хмм. Я думал, ngen сгенерированные образы в GAC добавляет.


Нет. Это разные механизмы. ngen работает и без помещения в гак.
Причем работает для всех коий сборки той же версии.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Прекомпиляция сборок при компиляции Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.06.10 09:19
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Только при этом подключаемые сборки из папки лежащей внутри %Nemerle% должны попадать в референсы и макрореференсы тоже как $(Nemerle)\relative_to_nemerle_path. Сейчас туда попадает путь относительно проекта, что совсем не кошерно.


Хорошая мысль. Создай фич-реквест.

Z>А в макрореференсы у меня и руками не получилось запихать $(Nemerle)\Nemerle.Linq.dll


Странно. Что за проблема?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Прекомпиляция сборок при компиляции Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.06.10 13:27
Оценка: 22 (2)
Здравствуйте, Ziaw, Вы писали:

Z>Только при этом подключаемые сборки из папки лежащей внутри %Nemerle% должны попадать в референсы и макрореференсы тоже как $(Nemerle)\relative_to_nemerle_path. Сейчас туда попадает путь относительно проекта, что совсем не кошерно. А в макрореференсы у меня и руками не получилось запихать $(Nemerle)\Nemerle.Linq.dll


Реализовал в 8916.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Прекомпиляция сборок при компиляции Nemerle
От: hardcase Пират http://nemerle.org
Дата: 08.06.10 07:41
Оценка: 44 (1)
Здравствуйте, Ziaw, Вы писали:

Z>Только при этом подключаемые сборки из папки лежащей внутри %Nemerle% должны попадать в референсы и макрореференсы тоже как $(Nemerle)\relative_to_nemerle_path. Сейчас туда попадает путь относительно проекта, что совсем не кошерно. А в макрореференсы у меня и руками не получилось запихать $(Nemerle)\Nemerle.Linq.dll


Добавил в SharpDevelop. r8918
/* иЗвиНите зА неРовнЫй поЧерК */
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.