02.11.2013, 11:11 | #1 |
Участник
|
X++: AxBuild.exe for Faster Full Compile of X++
Источник: http://blogs.msdn.com/b/x/archive/20...pile-of-x.aspx
============== In this post we describe the new AxBuild.exe utility that you can use to greatly increase the speed of a compilation of all X++ source code. AxBuild became available in November 2013 as part of cumulative update 7 (cu7) for Microsoft Dynamics AX 2012 R2. There are initial clarifications to understand about AxBuild:
In the earlier blog post, How the X++ Compiler works for AX2012 we gave a high level explanation of the processes that compile X++. Three major phases were described:
2 Legacy Client Tier Compile of Full X++ Until today the X++ compilation and metadata validation processes were always executed on the client tier using one single thread. Figure 1 represents the X++ compilation process that runs on the client. The client requests metadata from the Application Object Server (AOS) tier. Metadata is needed for every element that must be compiled or validated. The metadata stored in SQL Server is de-serialized by the AOS into the internal representation of a TreeNode. Then the metadata is transferred over the network to the client. If the client and AOS are installed on the same computer (the “one box” configuration), a process-to-process communication over RPCs is used in place of a two tier network communication. After the client received the metadata, the client compiles the X++ source code. The X++ source code is translated in AX p-code. The AX runtime understands the p-code and can execute it. The compile process also validates any references to other elements that are specified through properties. Information about any errors is written to a log. After each element is compiled, the client enriches its representation of the element with updated metadata and p-code. Next the client sends the enriched representation to the AOS. The AOS saves the updated element in the model store database. Figure 1. Metadata transfer during compilation and validation process. Agile development benefits from the client tier compile of X++, because the development cycles often require compilation of a narrow subset of all classes and forms etc. In the MorphX client the developer can compile individual elements such as one class. The developer can test the change, fix the code, recompile the one class, and retest. The compilations of individual classes complete in a second or two, so these agile development cycles are kept efficient. Also, the compiler on the client tier is fully leveraged and integrated with productivity tools like Cross Reference, IntelliSense, and Visual Studio. 3 New AOS Tier Compile of Full X++ For a full X++ compile, the legacy client tier scenario is unpleasantly slow. Having the compilation run on the client is ironic for the following reasons:
Figure 2. Parallel compilation on the server tier. Exclusion of the Client Tier: In the legacy full X++ compilation that runs on the MorphX client, the network transmission of information from the AOS to the client and back adds 28% to the wall clock duration of the compilation process. Even if the client is installed on the same computer with the AOS, transmissions through RPCs are needed. Parallel Compilation: AxBuild starts multiple temporary AOS processes. These AOS worker processes run in parallel. AxBuild coordinates their compilation acitivities. AxBuild does the following:
The performance gain depends on the available resources in the computer where the parallel compilation process is being executed, including number of CPU’s and memory available. However to put some numbers in perspective, we have taken some careful measurements. 4.1 Configuration
Marcos Calderon Macias Gene Milener November 2013 . Источник: http://blogs.msdn.com/b/x/archive/20...pile-of-x.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
За это сообщение автора поблагодарили: Logger (3), b_nosoff (1). |
02.11.2013, 14:20 | #2 |
Участник
|
мдя...
|
|
04.11.2013, 03:07 | #3 |
Участник
|
Новость то хорошая. 10 минут на полную компиляцию против сейчашних 2-3-4 часов вполне клево. У нас nightly build около 5 часов собирается.
Реализация правда не фонтан (наверное поэтому "мдя"). Еще одна консольная програмка для ахапки....развелось их уже. Я правильно понял что "по человечески", тоесть прям из клиента, это дело запустить нельзя без доработок?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
04.11.2013, 15:46 | #4 |
Участник
|
Почему-то после компиляции данной утилитой компиляция CIL выдает ошибку
|
|
04.11.2013, 22:28 | #5 |
MCT
|
Коллеги, нижайше прошу прикрепить проектик к сообщению, а то пост удалили, и как заполучить желаемое не понятно пока.
__________________
Axapta book for developer |
|
05.11.2013, 19:19 | #6 |
Участник
|
--компиляция внешней утилитой--
C:\Program Files\Microsoft Dynamics AX\60\Server\SM_DAX2012R2_WRK\bin>axbuild.exe xppcompileall /s=01 /altbin="C:\Program Files (x86)\Microsoft Dynamics AX\6.2\Client\Bin" где в параметре /s указывается номер AOS |
|
|
За это сообщение автора поблагодарили: Logger (1). |
07.11.2013, 13:11 | #7 |
Участник
|
А есть такая же, только для перекрестных ссылок? (может кто слышал/видел)
|
|
07.11.2013, 13:30 | #8 |
Модератор
|
Нет, это утилита запускаемая на стороне AOS и с клиентом не взаимодействующая (собственно, во многом потому и работает быстро). Т.е. "по-человечески" - нельзя, но автоматизировать ночной билд через скриптик - можно и даже нужно
__________________
-ТСЯ или -ТЬСЯ ? |
|
07.11.2013, 19:41 | #9 |
Участник
|
а оригинальный пост то потерли почему-то
|
|
08.11.2013, 01:12 | #10 |
Участник
|
daxmusings: What You Need To Know About the 15-minute CU7 Compiler
Источник: https://community.dynamics.com/ax/b/...-compiler.aspx
============== If you hadn't heard yet, CU7 has been released for AX 2012 R2. Lots of things to get excited about (comparing reports anyone?), the thing I'm most excited about is the new compile optimization...(read more) Источник: https://community.dynamics.com/ax/b/...-compiler.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
08.11.2013, 02:00 | #11 |
Участник
|
Цитата:
Надо бы отметить - "AXBuild.exe needs to be executed with hot-swap disabled.". Не совсем понятно почему, но на всех девелоперских машинах у нас эта опция активна. Цитата:
А есть такая же, только для перекрестных ссылок? (может кто слышал/видел)
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
10.11.2013, 16:11 | #13 |
Участник
|
axzaptech: Compile Whole AX Code in less than 30 min AX 2012 R2
Источник: http://axzaptech.wordpress.com/2013/...in-ax-2012-r2/
============== Hi All, With the release of cumulative update 7 for Microsoft Dynamics AX 2012 R2, Microsoft has launched a new command line tool to compile the complete X++ code. This tool has reduced the compilation time and 13 times faster. It can compile the whole AX in 30 mins. For further details, http://msdn.microsoft.com/library/d6...5bfb488e3.aspx Источник: http://axzaptech.wordpress.com/2013/...in-ax-2012-r2/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
10.11.2013, 22:13 | #14 |
Участник
|
goshoom: AxBuild.exe
Источник: http://dev.goshoom.net/en/2013/11/axbuild/
============== Just a quick one to bring your attention to something what you may have missed. Microsoft released a command-line tool for Dynamics AX R2 CU 7 called AxBuild. It’s capable of compiling X++ code directly on AOS and doing it in several threads in the same some time, which has a huge effect on performance. Microsoft even achieved 92% (!) improvement in compilation time (in a carefully built environment). One more advantage is that it’ll be easier to get response from a running compilation (that’s a trouble particularly with compilations executed by automated scripts). Unfortunately AxBuild doesn’t cover compilation to CIL, but hopefully we’ll get that too, at some point. I haven’t had a chance yet to play with it, but Tommy Skaue did, so check out his blog post You got to love AXBuild Compiler Tool. Источник: http://dev.goshoom.net/en/2013/11/axbuild/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
30.11.2013, 08:51 | #15 |
Боец
|
Какая-то убогость. Я потратил 10 часов чтобы понять, что сие чудо ничего не делает.
Вываливает какие-то ошибоки компиляции, которых на самом деле нет, после компиляции CIL собирается битый. После многочасовых баданий - запустил классичиский compile и все проблемы с приложением ушли. Возможно, нужно было отключть hot swap, возможно нужно было сделть какой-то cleanup, может ещё что-то забыл, то блин, товарищи... Но стоит отдать должное, визуальная компиляция идет действительно быстро |
|
30.11.2013, 11:12 | #16 |
Участник
|
На нескольких проектах используем, полет нормальный. Количество сэкономленных часов скоро перекроет время перехода cu6 -> cu7
__________________
Ivanhoe as is.. |
|
30.11.2013, 14:04 | #17 |
Модератор
|
__________________
-ТСЯ или -ТЬСЯ ? |
|
28.04.2014, 22:17 | #18 |
Участник
|
Для построения перекрестныйх ссылок видел писали джобы кот добавляет много батчей (для каждого элемента АОТ - таблицы, менюшки и т.д. - по одному джобу) и они выполняются батчем потихоньку ... - построение происходит не прям мгновенно, но то что можно хотябы в каком то обозримом и понятном времени их получить - так и да .
|
|
Теги |
ax2012, axbuild.exe, compilation, компиляция, полезное |
|
|