The program DBForge Studio Installation makes a "Native image Generation" and recommends it's usage to have performance advantages. The process took at least a minute on a quite fast development machine where many files were procecessed.
I have googled and found for example the article about the Microsoft Tool NGen
https://learn.microsoft.com/en-us/dotne ... -generator
I ask me now if it is worth to do this process and why there is a difference to the automatic compilation process the JIT compiler normally does the first time.
Arne
Native image generation
- ArneOrtlinghaus
- Posts: 405
- Joined: Tue Nov 10, 2015 7:48 am
- Location: Italy
Re: Native image generation
Hi Arne,
if I remember correctly, this is executed in the installation process on the X# compiler.
Wolfgang
if I remember correctly, this is executed in the installation process on the X# compiler.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Native image generation
Wolfgang,
There is an instngen.cmd file that does this and an uninstngen.cmd that removes the native images when uninstalling.
Robert
That is true. See the "c:\Program Files (x86)\XSharp\Uninst" folder.
There is an instngen.cmd file that does this and an uninstngen.cmd that removes the native images when uninstalling.
Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
The Netherlands
robert@xsharp.eu
Re: Native image generation
NGen helps to reduce the start time of the application. Here's a blogpost from microsoft and a tutorial from devexpress:
https://devblogs.microsoft.com/dotnet/a ... rformance/
https://docs.devexpress.com/GeneralInfo ... aunch-time
The annoying part of NGen is, that it has to be done on every pc, every time an update of the application is installed.
https://devblogs.microsoft.com/dotnet/a ... rformance/
https://docs.devexpress.com/GeneralInfo ... aunch-time
The annoying part of NGen is, that it has to be done on every pc, every time an update of the application is installed.
- ArneOrtlinghaus
- Posts: 405
- Joined: Tue Nov 10, 2015 7:48 am
- Location: Italy
Re: Native image generation
I tried it nevertheless. I called NGen.exe for every dll
But the application doen't start anymore afterwards (AccessViolationException in XSharp.FixedMemory.Alloc(UInt32, UInt32), XSharp.RT.Functions.String2Mem(System.String), XSharp.Internal.CompilerServices.String2Psz(System.String, System.Collections.Generic.List`1<IntPtr>)
Additionally what would make it problematic for us:
NGen needs administrative windows rights and the process for register our files takes many minutes. So it is not possible to start a batchjob in the background and starting manually such a job on every computer is not interesting for a program that gets updates every week.
Arne
But the application doen't start anymore afterwards (AccessViolationException in XSharp.FixedMemory.Alloc(UInt32, UInt32), XSharp.RT.Functions.String2Mem(System.String), XSharp.Internal.CompilerServices.String2Psz(System.String, System.Collections.Generic.List`1<IntPtr>)
Additionally what would make it problematic for us:
NGen needs administrative windows rights and the process for register our files takes many minutes. So it is not possible to start a batchjob in the background and starting manually such a job on every computer is not interesting for a program that gets updates every week.
Arne