Compiling a 2000+ Objects Extension

Let’s start diving into working with Extensions in Real Life. I have a lot to blog about and at first I thought I would blog about a very small extension but I’m sure you’ve all seen that.

Let’s start big!

At NAVTechDays I showed you the extension I created with the ForNAV converter that resulted in 2149 files which compiles and executes.

I made the extension work on Business Central OnPrem, installed on my local box with the RTM version.

What is the Build Time? It must be horrible…

You are probably most curious about the build time for this extension. It takes 30 seconds on the RTM version. Not bad, but not perfect either.

Now Microsoft promised that they would improve this experience because they also need it themselves. They asked me to text CU1 and the Daily Docker builds to see if that improves performance.

Runtime 2.1

Today I’ve installed version 2.1.69331 of the compiler and the build time went down to an average of 18 seconds. That is a great improvement! Well done team!

Break it down!

I’m going to keep this version of my extension to test the next versions to see if more improvements come our way.

However, I am also going to break down the monolith and see if I can get to smaller components.

This will also improve the maintainability and makes responsibilities more clear when working with multiple developers.

What’s the perfect size?

If you had asked me that three months ago I would have said 100-200 objects max. But now I think 500 objects should work fine from a compiler perspective.

Remember that when you break your ISV solution down you’ll most likely end up with more objects as you will create table and page extensions on your own objects. It will also be harder to assign object id’s.

To be continued…

 

 

Comment List
Related
Recommended