web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :

Is AX 2012 slower than AX 2009?

Kurt Hatlevik Profile Picture Kurt Hatlevik 2,067

First I would congratulate Microsoft with the release of Dynamics AX 2012. It looks very nice, and we get very good feedback from the marked on it. But this blog post is questioning the statement that AX 2012 is much faster than AX 2009. The reason why I raise this is because I often feel that the AX 2012 actually is slower than AX 2009 when it comes to opening, and using AX forms. I was then wondering if it could be related to the fact that I was using the Hyper-V image from Microsoft. I also wondered if it could be related to the hardware we used. To check out this, I decided to make some simple tests to compare AX 2009 to AX 2012 performance.

The first thing I did was to eliminate hardware restrictions. I get a new portable PC, with 8 CPU cores, 16 Gb RAM and 2 SSD disks. I then installed Windows Server 2008 R2 and MS SQL 2008 R2 with all updates from windows update. I then also installed AX 2012 locally from scratch, and applied the Cumulative 1 to the AX installation.

Then I decided to look into the form/List page “All customers”( CustTableListPage), because this form is functionally quite similar to AX 2009.

AX 2012 CustTableListPage form

AX 2009 CustTableListPage form

I then focused on opening this form, and time it. To get the best results as possible, I decided to open the form a few times before I started to time the opening of the form, to make sure that the AOS and SQL server had cached every thing in memory.

My findings was this:

Form name

AX 2009

AX 2012

CustTableListPage

1.4 seconds

3,83 seconds (With Aero)

3,5 seconds (Without Aero)

I have retried in several different environment and configurations, and the results are pretty much the same AX 2012 is SLOWER than AX 2009, when it comes to forms. And 3-4 seconds to open a form IS regarded as slow, because we often get the response requirement from customers.

I decided to see where AX 2012 is actually using time, and therefore started using the code profiler to time the AX 2012 with and without AERO

Form name : CustTableListPage

Duration

Method calls

AX 2012 with Aero (client)

3835150,0000 ms

790

AX 2012 without Aero (client)

3470196,0000 ms

745

AX 2009

1413078,0000 ms

253

We see that AERO enabled, the client actually needs to perform 45 additional method calls when opening this form on AX 2012, but the number of method calls compared to AX 2009 is more than doubled.

Here is the profile for when opening the form in AX 2012:

We see here that AX 2012 uses a lot of time in the SysSetupFormRun.init(), and that the SysSetupFormRun.loadUsersettings() is actually loaded 10 times. The reason for this is the fact boxes related to this form.

If we hide the fact boxes, we get a much better performance :

Form name

AX 2012 with fact boxes hidden

CustTableListPage

2.0 seconds

In the profiler we see

So the conclusion is, that to speed up the AX 2012, reduce the number of fact boxes that is loaded, because for each fact box added to a form, the SysSetupFormRun.loadUserSetting() is slowing your system down.
To hide fact boxes, the following can be done :


Also remark that AX 2009 is faster, because of fewer method calls. AX 2012 seams to redraw the screen for each loadUsersetting.

PS! It would be fun to compare AX 3.0 to AX 2012. Here I think the difference would be even larger.

 

 

 



This was originally posted here.

Comments

*This post is locked for comments