I have created an application in C++ using MFC, and then one day I have executed this application using Intel VTunes just to monitor the performance of the application and to check where most of the time is consumed by my application. After analyzing I have found that about 40% of the time is consumed by my code and around 35% of the time is consumed by the ntdll.dll file. So, the point here I wants to know is that is this a normal behaviour. I mean is this consumption i.e. 35% of the total time justifiable. Can anyone tell me that which kind of responsibilities resides on ntdll.dll i.e which kind of functionalities is achieved through this dll file, so that I can sort things out in my case and be able to optimize the code.

The ntdll.dll file is a file created by Microsoft that has a description of "NT Layer DLL" and is the file that contains NT kernel functions.

Can you please elaborate a bit more. In my application (MFC based and there is interaction with databases (Pervasive SQL and SQL Server)), which process will be using the ntdll.dll file etc.

It depends, if your application is using any kernel functions it may interact with ntdll. You have an executable application, so does it link to any DLL?

NTDLL gets used by IE. If you use IE components in your MFC app it will call it.