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