Nuestra aplicación, distribuida a través de ClickOnce, toma 10.8 segundos en promedio para iniciar. Después de ejecutar ngen
en .exe (en el directorio en que ClickOnce lo instaló), se inicia en 6.4 segundos en promedio. Obviamente, esta es una gran aceleración (40%) y me gustaría utilizar ngen-ification si es posible.¿Es posible pregenerar imágenes NGen para que los clientes no tengan que hacerlo?
respuesta de Ron para Is it possible to use NGen with ClickOnce deployment? muestra cómo se puede hacer en la máquina del cliente, asumiendo que supongo que corre Windows XP, ya que quiere derechos de administrador en mi caja Windows 7, por lo que no parece ser una solución genérica
Además, ngen toma 40 segundos en mi caja para compilar todos los ensamblajes que pertenecen a esa aplicación.
Así que, idealmente, me gustaría pre-ngen nuestra aplicación para todas las (principales) arquitecturas como parte del proceso de compilación, por lo que podría enviarse al cliente sin que el usuario tenga que aceptar un "ok ejecutar como administrador? " emergente y luego espera 40 segundos.
¿Es esto posible?
La salida NGen es específica de la arquitectura. Y dado que es poco probable que su máquina de compilación coincida con la (s) máquina (s) de producción, probablemente esto no funcione como espera. –
@CodyGray Como mencioné en mi pregunta, estaría dispuesto a pre-ngen para todas las arquitecturas principales. Si hiciéramos x86 y amd64 solo eso debería cubrir el 95% de los clientes, supongo ... –