On 22/01/2010 22:43, "Martin v. Löwis" wrote:
It is provided as a separate tool (and often invoked by application
installers) rather than allowing the native code to be distributed
because the results can be system specific.
Actually, they have now changed the implementation: it is now a service
which will do the ngen compilation in background, and the command line
tool will just queue requests for the service (unless you ask the tool
to do it synchronously).

I believe they did that because otherwise installers that had a lot of
.NET code would run incredibly long just because of ngen taking forever.
The ngen queue survives a reboot, and proceeds only if the system is
otherwise IDLE - so on an Itanium 1 system, it sometimes took about a
day until it caught up.
You're right of course. I remember terrible problems at Resolver Systems trying to make an installer behave as if ngen was synchronous - because for compiled IronPython applications the loading time is about 3 times longer if ngen'ing hasn't completed. Wix 2 would let us call ngen synchronously (or somehow pretend it was synchronous) but with Wix 3 we had to give up and just warn the user that first run could sometimes take a 'bit' longer to start...

Michael


Regards,
Martin


--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog

READ CAREFULLY. By accepting and reading this email you agree, on behalf of 
your employer, to release me from all obligations and waivers arising from any 
and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, 
clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and 
acceptable use policies (”BOGUS AGREEMENTS”) that I have entered into with your 
employer, its partners, licensors, agents and assigns, in perpetuity, without 
prejudice to my ongoing rights and privileges. You further represent that you 
have the authority to release me from any BOGUS AGREEMENTS on behalf of your 
employer.


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to