Parallelism and Muti-threading in Dynamics NAV

With regards to performance tuning of NAV, I have a couple of cases where we need to look deeper into how NAV utilizes the allocated system resources (CPU cores, RAM memory, hard drives). The scope is locally for the NAV processes, and not related to the SQL service.

Does anyone have in-depth information on how NAV processes and threads interact with an utilize system resources, and how the NAV service actually handle the use of parallelism, and how (why) we can optimize this?
This topic seems to be completely left out of all the NAV performance documents I have located, and there does not seem to be any official documentation of this.

Besides this, I got a specific inquery regarding support for multi-threading in NAV 2013 R2, and I cannot find any information on this topic.
A contact mentioned, that the support for multi-threading was not present in the initial release and only got introduced later with one of the CUs.
I have not found any information that support this statement, or even whether multi-threading has always been possible in Dynamics NAV - as long as the operating system, hardware and hypervisor provided the feature.

Any input, comments or references would be much appreciated :smile:
Thanks !


  • Slawek_GuzekSlawek_Guzek Posts: 1,182Member
    From my experience it looks like the single user session is procesed at the NST on a single thread at any given time. There is no concurrency effects visible inside NAV, even asynchronous events (coming from external sources) are queued and raised when execution of some C/AL block finishes and the system is about to return controll to the user.

    Internally NAV (the NST) might utilise concurrency, for sure it does it to execute in parallel code from different sessions, but when it comes to single user session it is hard to tell.

    To be fair NAV processing paradigm looks very 'serial', all available commands are farily simple. I personally cannot really see which one could benefint from parallel execution -maybe with exception of sorting on large temp tables in memory..

    My 0.01£

    Slawek Guzek
    "For a truly gifted programmer, writing code is a side effect of thought." Paul Ford.
Sign In or Register to comment.