Wednesday, March 23, 2016

Peter and Robert's XLNT Adventure part ONE

The new X++ compiler and the Microsoft Dynamics AX development platform click to download
The new X++ compiler and the Microsoft Dynamics AX development platform click to listen

Dylan knew something about AX even in the 60's
The times they are a changin', and change they have... the compiler is completely rebuilt from 2012, not one line of code! - Peter V

This has been a four year endeavor to rewrite from scratch in C# by a small team, which expanded, and came up with a set of tools available to us end-using developers.
  • The Visual Studio intellisense engine.
  • The extensible Best Practice engine.
  • The Code Migration tools.
  • Other ad-hoc tools
As an example of the flexibility of the new XLNT, Peter crowed about someone that had used a web-based app to search all of the artifacts in AX7 using XLNT. This is certainly most non-heinous.




Source code stored in META DATA will be parsed and verified as valid X++ code, result is an Abstract Syntax Tree. The AST is data flow representation of the code being parsed. The pipeline is a series of passes for the AST through validations and best practices.



XLNT is handling more than just compiling... it it the intellect behind class and object management in Visual Studio. XLNT is reading the code and preparing it for ease of use during development. Collapsible elements, class and method lists, intellisense... XLNT is robust.

If you remember from the the session or blog on META DATA, all artifacts are stored as meta data in XML. This means that when you open a class/method, XLNT is unstinting the XML and presenting it to you in an easy editing format. Once you are done the data is stitched and stored in XML.


On top of that, the new compiler is massively parallel. This thing will get its hands on all of the resources it can take to do as many things in parallel as possible. It means that you need to run this on a machine with at least 16GB of memory for a full build.
The old compiler had limitations to 64 bit access built for 8086 architecture the new compiler is massively parallel! Peter says more power the faster bigger compilation you can accomplish.

A few key notes from above...
  • XPPC Agent caches meta data is running as a service. 
  • Once again TELEMETRY is key and Microsoft will get information from XLNT on problem activity. This will not include company specific data or X++ but rather important information to help understand error handling and performance issues.
How long to do a full compile on a "normal box"... 5 hours average... with cross reference... considerable more time, maybe 4 extra hours. This is markedly faster at 8 MINUTES!























{Hold for applause} 

Part two tomorrow...

No comments:

Post a Comment